chiark / gitweb /
more tests
authorIan Jackson <ijackson@chiark.greenend.org.uk>
Sun, 11 Oct 2020 23:39:52 +0000 (00:39 +0100)
committerIan Jackson <ijackson@chiark.greenend.org.uk>
Sun, 11 Oct 2020 23:39:52 +0000 (00:39 +0100)
Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
zcoord/zcoord.rs

index e190a4c25b9352bb0a3e1a18715eff6c46b1a8d3..04996d99ea80410085d1c37014c6fe5ceb6af062 100644 (file)
@@ -738,18 +738,27 @@ mod test {
 
   #[test]
   fn range(){
-    fn nxt(i: &mut RangeIterator, exp: &str) {
-      let got = i.next().unwrap();
-      assert_eq!(got.to_string(), exp);
-      assert_eq!(got, bf(exp));
+    struct It {
+      i: RangeIterator,
+      last: ZCoord,
+    }
+    impl It {
+      fn nxt(&mut self, exp: &str) {
+        let got = self.i.next().unwrap();
+        assert_eq!(got.to_string(), exp);
+        assert_eq!(got, bf(exp));
+        assert!(got > self.last);
+        self.last = got.clone();
+      }
     }
     let x = bf("3333333333_vvvvvvvvv0").clone_mut();
     let y = bf("3333333334_0000000040").clone_mut();
-    let mut i = x.range_upto(&y, 4).unwrap();
-    nxt(&mut i, "3333333334");
-    nxt(&mut i, "3333333334_0000000010");
-    nxt(&mut i, "3333333334_0000000020");
-    nxt(&mut i, "3333333334_0000000030");
-    assert_eq!(i.next(), None);
+    let i = x.range_upto(&y, 4).unwrap();
+    let mut it = It { i, last: x.repack().unwrap() };
+    it.nxt("3333333334");
+    it.nxt("3333333334_0000000010");
+    it.nxt("3333333334_0000000020");
+    it.nxt("3333333334_0000000030");
+    assert_eq!(it.i.next(), None);
   }
 }