#[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); } }