Skip to content

Commit

Permalink
PrimInt: add unit tests for reverse_bits
Browse files Browse the repository at this point in the history
  • Loading branch information
Xiretza committed Apr 13, 2021
1 parent 502426f commit 94761f7
Showing 1 changed file with 56 additions and 0 deletions.
56 changes: 56 additions & 0 deletions src/int.rs
Expand Up @@ -466,3 +466,59 @@ prim_int_impl!(i64, i64, u64);
#[cfg(has_i128)]
prim_int_impl!(i128, i128, u128);
prim_int_impl!(isize, isize, usize);

#[cfg(test)]
mod tests {
use int::PrimInt;

#[test]
pub fn reverse_bits() {
use core::{i16, i32, i64, i8};

assert_eq!(
PrimInt::reverse_bits(0x0123_4567_89ab_cdefu64),
0xf7b3_d591_e6a2_c480
);

assert_eq!(PrimInt::reverse_bits(0i8), 0);
assert_eq!(PrimInt::reverse_bits(-1i8), -1);
assert_eq!(PrimInt::reverse_bits(1i8), i8::MIN);
assert_eq!(PrimInt::reverse_bits(i8::MIN), 1);
assert_eq!(PrimInt::reverse_bits(-2i8), i8::MAX);
assert_eq!(PrimInt::reverse_bits(i8::MAX), -2);

assert_eq!(PrimInt::reverse_bits(0i16), 0);
assert_eq!(PrimInt::reverse_bits(-1i16), -1);
assert_eq!(PrimInt::reverse_bits(1i16), i16::MIN);
assert_eq!(PrimInt::reverse_bits(i16::MIN), 1);
assert_eq!(PrimInt::reverse_bits(-2i16), i16::MAX);
assert_eq!(PrimInt::reverse_bits(i16::MAX), -2);

assert_eq!(PrimInt::reverse_bits(0i32), 0);
assert_eq!(PrimInt::reverse_bits(-1i32), -1);
assert_eq!(PrimInt::reverse_bits(1i32), i32::MIN);
assert_eq!(PrimInt::reverse_bits(i32::MIN), 1);
assert_eq!(PrimInt::reverse_bits(-2i32), i32::MAX);
assert_eq!(PrimInt::reverse_bits(i32::MAX), -2);

assert_eq!(PrimInt::reverse_bits(0i64), 0);
assert_eq!(PrimInt::reverse_bits(-1i64), -1);
assert_eq!(PrimInt::reverse_bits(1i64), i64::MIN);
assert_eq!(PrimInt::reverse_bits(i64::MIN), 1);
assert_eq!(PrimInt::reverse_bits(-2i64), i64::MAX);
assert_eq!(PrimInt::reverse_bits(i64::MAX), -2);
}

#[test]
#[cfg(has_i128)]
pub fn reverse_bits_i128() {
use core::i128;

assert_eq!(PrimInt::reverse_bits(0i128), 0);
assert_eq!(PrimInt::reverse_bits(-1i128), -1);
assert_eq!(PrimInt::reverse_bits(1i128), i128::MIN);
assert_eq!(PrimInt::reverse_bits(i128::MIN), 1);
assert_eq!(PrimInt::reverse_bits(-2i128), i128::MAX);
assert_eq!(PrimInt::reverse_bits(i128::MAX), -2);
}
}

0 comments on commit 94761f7

Please sign in to comment.