about summary refs log tree commit diff
path: root/src/liballoc/tests
diff options
context:
space:
mode:
authorCharles Gleason <charles_gleason@alumni.brown.edu>2019-11-22 14:22:45 -0500
committerCharles Gleason <charles_gleason@alumni.brown.edu>2019-12-23 11:03:30 -0500
commit8651aa066fdbbcfaa082531969469c3fa289de9e (patch)
treec7be913184784d0fdd60f6541f3a91add2a54329 /src/liballoc/tests
parentf547978392872684085c96a3d5c1d00bad24b724 (diff)
downloadrust-8651aa066fdbbcfaa082531969469c3fa289de9e.tar.gz
rust-8651aa066fdbbcfaa082531969469c3fa289de9e.zip
Add test for BTreeMap::clone_from
Diffstat (limited to 'src/liballoc/tests')
-rw-r--r--src/liballoc/tests/btree/map.rs20
1 files changed, 20 insertions, 0 deletions
diff --git a/src/liballoc/tests/btree/map.rs b/src/liballoc/tests/btree/map.rs
index 3177f19927e..65a3fbd66a4 100644
--- a/src/liballoc/tests/btree/map.rs
+++ b/src/liballoc/tests/btree/map.rs
@@ -555,6 +555,26 @@ fn test_clone() {
 }
 
 #[test]
+fn test_clone_from() {
+    let mut map1 = BTreeMap::new();
+    let size = 30;
+
+    for i in 0..size {
+        map1.insert(i, 10 * i);
+        let mut map2 = BTreeMap::new();
+        for j in 0..i {
+            map2.insert(100 * j + 1, 2 * j + 1);
+            let mut map1_copy = map2.clone();
+            map1_copy.clone_from(&map1);
+            assert_eq!(map1_copy, map1);
+            let mut map2_copy = map1.clone();
+            map2_copy.clone_from(&map2);
+            assert_eq!(map2_copy, map2);
+        }
+    }
+}
+
+#[test]
 #[allow(dead_code)]
 fn test_variance() {
     use std::collections::btree_map::{IntoIter, Iter, Keys, Range, Values};