Reviewed-on: http://192.168.1.227:3000/sfrembling/timeshift/pulls/1 Co-authored-by: Shea Frembling <sfrembling@gmail.com> Co-committed-by: Shea Frembling <sfrembling@gmail.com>
41 lines
650 B
Rust
41 lines
650 B
Rust
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 {
|
|
match n {
|
|
0 => false,
|
|
1 => true,
|
|
_ => is_even(n - 1),
|
|
}
|
|
}
|
|
|
|
#[cfg(test)]
|
|
mod tests {
|
|
use crate::{is_even, is_odd};
|
|
|
|
#[test]
|
|
fn it_works() {
|
|
let src = 12;
|
|
let result = is_even(src);
|
|
assert!(result);
|
|
}
|
|
|
|
#[test]
|
|
fn it_works_again() {
|
|
let src = 5;
|
|
let result = is_odd(src);
|
|
assert!(result);
|
|
}
|
|
}
|