39 lines
687 B
Rust
39 lines
687 B
Rust
// Tests werden mit "cargo test" ausgeführt
|
|
|
|
fn is_even(n: i32) -> bool {
|
|
n % 2 == 0
|
|
}
|
|
|
|
fn double(n: i32) -> i32 {
|
|
n * 2
|
|
}
|
|
|
|
fn add_one(n: i32) -> i32 {
|
|
n + 1
|
|
}
|
|
fn main() {
|
|
println!("{} ist gerade: {}", 4, is_even(4));
|
|
println!("doppelt von 5: {}", double(5));
|
|
}
|
|
|
|
// Tests liegen generell im selben file wie die Function selbst
|
|
#[cfg(test)]
|
|
mod tests {
|
|
use super::*;
|
|
|
|
#[test]
|
|
fn even() {
|
|
assert!(is_even(4)); // bool
|
|
}
|
|
|
|
#[test]
|
|
fn double_of_5() {
|
|
assert_eq!(double(5), 10); // Vergleich auf Gleichheit
|
|
}
|
|
|
|
#[test]
|
|
fn add_one_changes_value() {
|
|
assert_ne!(add_one(5), 5); // Vergleich auf Ungleichheit
|
|
}
|
|
}
|