#![allow(missing_docs)]
use semx_bitops::bitmap::BitMap;
#[test]
fn bitmap_test() {
let mut bitmap = BitMap::create(10);
bitmap.set_zero();
assert!(bitmap.is_empty());
assert!(!bitmap.is_full());
bitmap.set_fill();
assert_eq!(bitmap.count_one(), 10);
assert!(!bitmap.is_empty());
assert!(bitmap.is_full());
bitmap.bitmap_clear(0, 2);
assert_eq!(bitmap.count_one(), 8);
assert!(!bitmap.is_empty());
assert!(!bitmap.is_full());
bitmap.set_fill();
assert_eq!(bitmap.count_one(), 10);
assert!(bitmap.is_full());
assert!(!bitmap.is_empty());
let mut bitmap = BitMap::create(100);
bitmap.set_zero();
assert!(bitmap.is_empty());
assert!(!bitmap.is_full());
bitmap.set_fill();
assert_eq!(bitmap.count_one(), 100);
assert!(!bitmap.is_empty());
assert!(bitmap.is_full());
bitmap.bitmap_clear(0, 2);
assert_eq!(bitmap.count_one(), 98);
assert!(!bitmap.is_empty());
assert!(!bitmap.is_full());
bitmap.set_fill();
assert_eq!(bitmap.count_one(), 100);
assert!(bitmap.is_full());
assert!(!bitmap.is_empty());
bitmap.set_zero();
assert_eq!(bitmap.count_one(), 0);
assert!(bitmap.is_empty());
assert!(!bitmap.is_full());
let mut copy = BitMap::create(100);
copy.bitmap_set(32, 12);
bitmap.copy_from(©);
assert_eq!(bitmap.count_one(), 12);
assert!(bitmap.is_equal(©));
assert!(bitmap.is_intersects(©));
copy.set_zero();
copy.bitmap_set(50, 12);
assert!(!bitmap.is_intersects(©));
assert_eq!(bitmap.find_next_zero_area(0, 30, 0), 0);
bitmap.bitmap_set(15, 2);
assert_eq!(bitmap.find_next_zero_area(0, 30, 0), 44);
bitmap.extend_nr(100);
bitmap.bitmap_set(150, 3);
assert_eq!(bitmap.count_one(), 17);
}