Compare commits

...

2 commits

2 changed files with 32 additions and 0 deletions

View file

@ -0,0 +1,30 @@
#[cfg(test)]
mod tests {
use pyority_queue::backing::indexed::{IndexedBacking, IndexedBinaryHeap};
#[test]
fn test_indexed_binary_heap_manual_creation() {
let mut heap = IndexedBinaryHeap::new();
heap.set(4, 0.5);
heap.set(-3, 0.01);
heap.set(6, 0.9);
heap.set(1, 0.2);
assert_eq!(heap.len(), 4);
assert_eq!(heap.pop(), Some(-3));
assert_eq!(heap.pop(), Some(1));
assert_eq!(heap.pop(), Some(4));
assert_eq!(heap.pop(), Some(6));
assert_eq!(heap.pop(), None);
}
#[test]
fn test_indexed_binary_heap_from_iter() {
let mut heap = IndexedBinaryHeap::from_iter(vec![("c", 7), ("a", 3), ("b", 6), ("d", 9)]);
assert_eq!(heap.len(), 4);
assert_eq!(heap.pop(), Some("a"));
assert_eq!(heap.pop(), Some("b"));
assert_eq!(heap.pop(), Some("c"));
assert_eq!(heap.pop(), Some("d"));
assert_eq!(heap.pop(), None);
}
}

View file

@ -9,6 +9,7 @@ mod tests {
heap.add(-3);
heap.add(6);
heap.add(1);
assert_eq!(heap.len(), 4);
assert_eq!(heap.pop(), Some(-3));
assert_eq!(heap.pop(), Some(1));
assert_eq!(heap.pop(), Some(4));
@ -19,6 +20,7 @@ mod tests {
#[test]
fn test_pure_binary_heap_from_iter() {
let mut heap = BinaryHeap::from_iter(vec![7, 3, 6, 9]);
assert_eq!(heap.len(), 4);
assert_eq!(heap.pop(), Some(3));
assert_eq!(heap.pop(), Some(6));
assert_eq!(heap.pop(), Some(7));