about summary refs log tree commit diff
diff options
context:
space:
mode:
authorSimonas Kazlauskas <git@kazlauskas.me>2015-01-03 21:58:20 +0200
committerSimonas Kazlauskas <git@kazlauskas.me>2015-01-05 13:10:31 +0200
commit6ca1f0c6ea61760138c7e3cb4c14fa3be71c7414 (patch)
tree73e222651b042ea39079089ca96894e0763b0a43
parentf677deeab397c8672c74fa134978df9aa10e0ff3 (diff)
Add tests for ChaCha and Isaac Clone impls
-rw-r--r--src/librand/chacha.rs10
-rw-r--r--src/librand/isaac.rs10
2 files changed, 20 insertions, 0 deletions
diff --git a/src/librand/chacha.rs b/src/librand/chacha.rs
index 79d836baece..ce055a84d3f 100644
--- a/src/librand/chacha.rs
+++ b/src/librand/chacha.rs
@@ -281,5 +281,15 @@ mod test {
                         0x11cfa18e, 0xd3c50049, 0x75c775f6, 0x434c6530,
                         0x2c5bad8f, 0x898881dc, 0x5f1c86d9, 0xc1f8e7f4));
     }
+
+    #[test]
+    fn test_rng_clone() {
+        let seed : &[_] = &[0u32, ..8];
+        let mut rng: ChaChaRng = SeedableRng::from_seed(seed);
+        let mut clone = rng.clone();
+        for _ in range(0u, 16) {
+            assert_eq!(rng.next_u64(), clone.next_u64());
+        }
+    }
 }
 
diff --git a/src/librand/isaac.rs b/src/librand/isaac.rs
index c8a8da0818d..03b56963ba9 100644
--- a/src/librand/isaac.rs
+++ b/src/librand/isaac.rs
@@ -609,4 +609,14 @@ mod test {
                         596345674630742204, 9947027391921273664, 11788097613744130851,
                         10391409374914919106));
     }
+
+    #[test]
+    fn test_rng_clone() {
+        let seed: &[_] = &[1, 23, 456, 7890, 12345];
+        let mut rng: Isaac64Rng = SeedableRng::from_seed(seed);
+        let mut clone = rng.clone();
+        for _ in range(0u, 16) {
+            assert_eq!(rng.next_u64(), clone.next_u64());
+        }
+    }
 }