about summary refs log tree commit diff
diff options
context:
space:
mode:
-rw-r--r--src/libextra/bitv.rs19
1 files changed, 19 insertions, 0 deletions
diff --git a/src/libextra/bitv.rs b/src/libextra/bitv.rs
index f099593e86f..69c851e248b 100644
--- a/src/libextra/bitv.rs
+++ b/src/libextra/bitv.rs
@@ -1266,6 +1266,25 @@ mod tests {
     }
 
     #[test]
+    fn test_bitv_iterator() {
+        let bools = [true, false, true, true];
+        let bitv = from_bools(bools);
+
+        for bitv.iter().zip(bools.iter()).advance |(act, &ex)| {
+            assert_eq!(ex, act);
+        }
+    }
+
+    #[test]
+    fn test_bitv_set_iterator() {
+        let bools = [true, false, true, true];
+        let bitv = BitvSet::from_bitv(from_bools(bools));
+
+        let idxs: ~[uint] = bitv.iter().collect();
+        assert_eq!(idxs, ~[0, 2, 3]);
+    }
+
+    #[test]
     fn test_small_difference() {
         let mut b1 = Bitv::new(3, false);
         let mut b2 = Bitv::new(3, false);