35 lines
826 B
Rust
35 lines
826 B
Rust
|
#[cfg(test)]
|
||
|
mod tests {
|
||
|
use crate::multiplier::multiplier;
|
||
|
use std::num::Wrapping;
|
||
|
|
||
|
#[test]
|
||
|
fn zero_times_one() {
|
||
|
assert_eq!(multiplier(0, 1), 0 * 1);
|
||
|
}
|
||
|
|
||
|
#[test]
|
||
|
fn four_times_three() {
|
||
|
assert_eq!(multiplier(4, 3), 4 * 3);
|
||
|
}
|
||
|
|
||
|
#[test]
|
||
|
fn one_times_one() {
|
||
|
assert_eq!(multiplier(1, 1), 1 * 1);
|
||
|
}
|
||
|
|
||
|
#[test]
|
||
|
fn random_numbers() {
|
||
|
assert_eq!(multiplier(62_235, 12_756), 62_235 * 12_756);
|
||
|
assert_eq!(multiplier(93_455, 4_756), 93_455 * 4_756);
|
||
|
assert_eq!(multiplier(32_875, 23_655), 32_875 * 23_655);
|
||
|
assert_eq!(multiplier(732_342, 796), 732_342 * 796);
|
||
|
}
|
||
|
|
||
|
#[test]
|
||
|
fn overflow() {
|
||
|
let big = Wrapping(3_245_532_214u32);
|
||
|
assert_eq!(multiplier(3_245_532_214, 3_245_532_214), (big * big).0);
|
||
|
}
|
||
|
}
|