about summary refs log tree commit diff
path: root/src/libstd/priority_queue.rs
diff options
context:
space:
mode:
authorBrian Anderson <banderson@mozilla.com>2012-12-16 19:53:14 -0800
committerBrian Anderson <banderson@mozilla.com>2012-12-16 19:53:14 -0800
commit60ef6095f2639cc8d3fcef39490b3a7b864d99e0 (patch)
tree1033a108d7cd291e28fd49926a6cad0b7c82f3af /src/libstd/priority_queue.rs
parent90bebe35224c6dc0238e3a35726bcd5fb0088337 (diff)
downloadrust-60ef6095f2639cc8d3fcef39490b3a7b864d99e0.tar.gz
rust-60ef6095f2639cc8d3fcef39490b3a7b864d99e0.zip
Add priority_queue test for unique pointers
Diffstat (limited to 'src/libstd/priority_queue.rs')
-rw-r--r--src/libstd/priority_queue.rs22
1 files changed, 22 insertions, 0 deletions
diff --git a/src/libstd/priority_queue.rs b/src/libstd/priority_queue.rs
index 605dd81eba6..4260a3e959e 100644
--- a/src/libstd/priority_queue.rs
+++ b/src/libstd/priority_queue.rs
@@ -202,6 +202,28 @@ mod tests {
     }
 
     #[test]
+    fn test_push_unique() {
+        let mut heap = from_vec(~[~2, ~4, ~9]);
+        assert heap.len() == 3;
+        assert *heap.top() == ~9;
+        heap.push(~11);
+        assert heap.len() == 4;
+        assert *heap.top() == ~11;
+        heap.push(~5);
+        assert heap.len() == 5;
+        assert *heap.top() == ~11;
+        heap.push(~27);
+        assert heap.len() == 6;
+        assert *heap.top() == ~27;
+        heap.push(~3);
+        assert heap.len() == 7;
+        assert *heap.top() == ~27;
+        heap.push(~103);
+        assert heap.len() == 8;
+        assert *heap.top() == ~103;
+    }
+
+    #[test]
     fn test_push_pop() {
         let mut heap = from_vec(~[5, 5, 2, 1, 3]);
         assert heap.len() == 5;