fn main() {
let src = 12;
let result = is_even(src);
println!("{src} is even? {result}");
}
fn is_even(n: u32) -> bool {
match n {
0 => true,
1 => false,
_ => is_odd(n - 1),
fn is_odd(n: u32) -> bool {
0 => false,
1 => true,
_ => is_even(n - 1),
#[cfg(test)]
mod tests {
use crate::{is_even, is_odd};
#[test]
fn it_works() {
assert!(result);
fn it_works_again() {
let src = 5;
let result = is_odd(src);