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