Add (failing) (minimal) IndexedQueue (Rust) tests

This commit is contained in:
Michael Bradley 2025-01-13 22:11:05 +13:00
parent 57fdba96fe
commit ebfce09c0e
Signed by: MichaelBradley
SSH key fingerprint: SHA256:cj/YZ5VT+QOKncqSkx+ibKTIn0Obg7OIzwzl9BL8EO8

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