ready_set_boole/src/multiplier/tests.rs

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);
}
}