diff options
Diffstat (limited to 'ayafs/src/tests/bitmap.rs')
-rw-r--r-- | ayafs/src/tests/bitmap.rs | 38 |
1 files changed, 38 insertions, 0 deletions
diff --git a/ayafs/src/tests/bitmap.rs b/ayafs/src/tests/bitmap.rs new file mode 100644 index 0000000..1a43f09 --- /dev/null +++ b/ayafs/src/tests/bitmap.rs @@ -0,0 +1,38 @@ +use crate::tests::common; +use indexmap::IndexMap; + +#[test] +fn test_allocate() { + let mut fs = common::setup(); + for _ in 0..10 { + fs.data_bitmap.allocate().unwrap(); + } + assert!(fs.data_bitmap.deallocate(5)); + assert_eq!(fs.data_bitmap.allocate().unwrap(), 5); + assert_eq!(fs.data_bitmap.allocate().unwrap(), 11); +} + +#[test] +fn test_query() { + let mut fs = common::setup(); + for _ in 0..10 { + fs.data_bitmap.allocate().unwrap(); + } + assert_eq!(fs.data_bitmap.query(0), false); + assert_eq!(fs.data_bitmap.query(5), true); + assert_eq!(fs.data_bitmap.query(11), false); +} + +#[test] +fn test_index_map() { + let mut map: IndexMap<i32, i32> = IndexMap::new(); + map.insert(1, 2); + map.insert(2, 3); + map.insert(3, 4); + map.insert(4, 5); + map.remove(&3); + + for (entry_index, (key, value)) in map.iter().enumerate() { + println!("index {}, key {}, value {}", entry_index, key, value); + } +} |