Path: blob/main/cranelift/bitset/tests/bitset.rs
1691 views
use cranelift_bitset::*;12#[test]3fn contains() {4let s = ScalarBitSet::<u8>(255);5for i in 0..7 {6assert!(s.contains(i));7}89let s1 = ScalarBitSet::<u8>(0);10for i in 0..7 {11assert!(!s1.contains(i));12}1314let s2 = ScalarBitSet::<u8>(127);15for i in 0..6 {16assert!(s2.contains(i));17}18assert!(!s2.contains(7));1920let s3 = ScalarBitSet::<u8>(2 | 4 | 64);21assert!(!s3.contains(0) && !s3.contains(3) && !s3.contains(4));22assert!(!s3.contains(5) && !s3.contains(7));23assert!(s3.contains(1) && s3.contains(2) && s3.contains(6));2425let s4 = ScalarBitSet::<u16>(4 | 8 | 256 | 1024);26assert!(27!s4.contains(0)28&& !s4.contains(1)29&& !s4.contains(4)30&& !s4.contains(5)31&& !s4.contains(6)32&& !s4.contains(7)33&& !s4.contains(9)34&& !s4.contains(11)35);36assert!(s4.contains(2) && s4.contains(3) && s4.contains(8) && s4.contains(10));37}3839#[test]40fn minmax() {41let s = ScalarBitSet::<u8>(255);42assert_eq!(s.min(), Some(0));43assert_eq!(s.max(), Some(7));44assert!(s.min() == Some(0) && s.max() == Some(7));45let s1 = ScalarBitSet::<u8>(0);46assert!(s1.min() == None && s1.max() == None);47let s2 = ScalarBitSet::<u8>(127);48assert!(s2.min() == Some(0) && s2.max() == Some(6));49let s3 = ScalarBitSet::<u8>(2 | 4 | 64);50assert!(s3.min() == Some(1) && s3.max() == Some(6));51let s4 = ScalarBitSet::<u16>(4 | 8 | 256 | 1024);52assert!(s4.min() == Some(2) && s4.max() == Some(10));53}5455#[test]56fn from_range() {57let s = ScalarBitSet::<u8>::from_range(5, 5);58assert!(s.0 == 0);5960let s = ScalarBitSet::<u8>::from_range(0, 8);61assert!(s.0 == 255);6263let s = ScalarBitSet::<u16>::from_range(0, 8);64assert!(s.0 == 255u16);6566let s = ScalarBitSet::<u16>::from_range(0, 16);67assert!(s.0 == 65535u16);6869let s = ScalarBitSet::<u8>::from_range(5, 6);70assert!(s.0 == 32u8);7172let s = ScalarBitSet::<u8>::from_range(3, 7);73assert!(s.0 == 8 | 16 | 32 | 64);7475let s = ScalarBitSet::<u16>::from_range(5, 11);76assert!(s.0 == 32 | 64 | 128 | 256 | 512 | 1024);77}787980