summaryrefslogtreecommitdiff
path: root/src/iterators.rs
diff options
context:
space:
mode:
authorcc <cc@localhost>2025-08-20 21:58:04 -0700
committercc <cc@localhost>2025-08-20 21:59:17 -0700
commita3f05d181c39d2060c1b0461101402004a7d02f1 (patch)
tree19da5f3c29c714991ef3171f9917041d21d42bea /src/iterators.rs
parentb7389213d70bba748c9ff08c9f91a99ac07e59c0 (diff)
Update for modern RustHEADmaster
Diffstat (limited to 'src/iterators.rs')
-rw-r--r--src/iterators.rs91
1 files changed, 48 insertions, 43 deletions
diff --git a/src/iterators.rs b/src/iterators.rs
index 2d7a673..23ecf03 100644
--- a/src/iterators.rs
+++ b/src/iterators.rs
@@ -1,5 +1,5 @@
-use ::tree;
-use ::node;
+use crate::tree;
+use crate::node;
use std::collections::Bound;
pub struct RangePairIter<'a, K:'a+Ord+Copy,D:'a> {
@@ -57,45 +57,50 @@ impl<'a, K:'a+Ord+Copy,D:'a> Iterator for RangePairIter<'a, K, D> {
}
-#[test]
-fn test_iterators(){
- let mut tree = tree::AVLTree::<u64,i32>::new();
- tree.insert(18, 1337);
- tree.insert(13, 1338);
- tree.insert(17, 1339);
- tree.insert(10, 1321);
- tree.insert(1, 1321);
- tree.insert(3, 1322);
- let init_key = 0;
- let mut iter = RangePairIter::<u64,i32>{tree: &tree, prev: Some(&init_key), from: Bound::Unbounded, to: Bound::Unbounded};
- assert_eq!(iter.next().expect("should have a few values").0, &1);
- assert_eq!(iter.next().expect("should have a few values").0, &3);
- assert_eq!(iter.next().expect("should have a few values").0, &10);
- assert_eq!(iter.next().expect("should have a few values").0, &13);
- assert_eq!(iter.next().expect("should have a few values").0, &17);
- assert_eq!(iter.next().expect("should have a few values").0, &18);
- assert!(iter.next().is_none());
-
- let mut iter = RangePairIter::new(&tree, Bound::Unbounded, Bound::Unbounded);
- assert_eq!(iter.next().expect("should have a few values").0, &1);
- assert_eq!(iter.next().expect("should have a few values").0, &3);
- assert_eq!(iter.next().expect("should have a few values").0, &10);
- assert_eq!(iter.next().expect("should have a few values").0, &13);
- assert_eq!(iter.next().expect("should have a few values").0, &17);
- assert_eq!(iter.next().expect("should have a few values").0, &18);
- assert!(iter.next().is_none());
-
- let mut iter = RangePairIter::new(&tree, Bound::Included(3), Bound::Included(17));
- assert_eq!(iter.next().expect("should have a few values").0, &3);
- assert_eq!(iter.next().expect("should have a few values").0, &10);
- assert_eq!(iter.next().expect("should have a few values").0, &13);
- assert_eq!(iter.next().expect("should have a few values").0, &17);
- assert!(iter.next().is_none());
-
- let mut iter = RangePairIter::new(&tree, Bound::Excluded(1), Bound::Excluded(18));
- assert_eq!(iter.next().expect("should have a few values").0, &3);
- assert_eq!(iter.next().expect("should have a few values").0, &10);
- assert_eq!(iter.next().expect("should have a few values").0, &13);
- assert_eq!(iter.next().expect("should have a few values").0, &17);
- assert!(iter.next().is_none());
+#[cfg(test)]
+mod tests {
+ use super::*;
+
+ #[test]
+ fn test_iterators(){
+ let mut tree = tree::AVLTree::<u64,i32>::new();
+ tree.insert(18, 1337);
+ tree.insert(13, 1338);
+ tree.insert(17, 1339);
+ tree.insert(10, 1321);
+ tree.insert(1, 1321);
+ tree.insert(3, 1322);
+ let init_key = 0;
+ let mut iter = RangePairIter::<u64,i32>{tree: &tree, prev: Some(&init_key), from: Bound::Unbounded, to: Bound::Unbounded};
+ assert_eq!(iter.next().expect("should have a few values").0, &1);
+ assert_eq!(iter.next().expect("should have a few values").0, &3);
+ assert_eq!(iter.next().expect("should have a few values").0, &10);
+ assert_eq!(iter.next().expect("should have a few values").0, &13);
+ assert_eq!(iter.next().expect("should have a few values").0, &17);
+ assert_eq!(iter.next().expect("should have a few values").0, &18);
+ assert!(iter.next().is_none());
+
+ let mut iter = RangePairIter::new(&tree, Bound::Unbounded, Bound::Unbounded);
+ assert_eq!(iter.next().expect("should have a few values").0, &1);
+ assert_eq!(iter.next().expect("should have a few values").0, &3);
+ assert_eq!(iter.next().expect("should have a few values").0, &10);
+ assert_eq!(iter.next().expect("should have a few values").0, &13);
+ assert_eq!(iter.next().expect("should have a few values").0, &17);
+ assert_eq!(iter.next().expect("should have a few values").0, &18);
+ assert!(iter.next().is_none());
+
+ let mut iter = RangePairIter::new(&tree, Bound::Included(3), Bound::Included(17));
+ assert_eq!(iter.next().expect("should have a few values").0, &3);
+ assert_eq!(iter.next().expect("should have a few values").0, &10);
+ assert_eq!(iter.next().expect("should have a few values").0, &13);
+ assert_eq!(iter.next().expect("should have a few values").0, &17);
+ assert!(iter.next().is_none());
+
+ let mut iter = RangePairIter::new(&tree, Bound::Excluded(1), Bound::Excluded(18));
+ assert_eq!(iter.next().expect("should have a few values").0, &3);
+ assert_eq!(iter.next().expect("should have a few values").0, &10);
+ assert_eq!(iter.next().expect("should have a few values").0, &13);
+ assert_eq!(iter.next().expect("should have a few values").0, &17);
+ assert!(iter.next().is_none());
+ }
}