pub fn add(a: i32, b: i32) -> i32 {
a + b
}
pub fn subtract(a: i32, b: i32) -> i32 {
a - b
}
pub fn multiply(a: i32, b: i32) -> i32 {
a * b
}
pub fn is_positive(n: i32) -> bool {
n > 0
}
pub fn is_even(n: i32) -> bool {
n % 2 == 0
}
#[cfg(test)]
mod tests {
use super::*;
#[test]
fn test_add() {
assert_eq!(add(2, 3), 5);
}
#[test]
fn test_subtract() {
assert_eq!(subtract(5, 3), 2);
}
#[test]
fn test_multiply() {
assert_eq!(multiply(4, 5), 20);
}
#[test]
fn test_is_positive() {
assert!(is_positive(5));
assert!(!is_positive(-5));
assert!(!is_positive(0));
}
#[test]
fn test_is_even() {
assert!(is_even(4));
assert!(!is_even(5));
}
}