about summary refs log tree commit diff
path: root/library/alloc/tests/slice.rs
diff options
context:
space:
mode:
authorClément Renault <clement@meilisearch.com>2020-12-10 13:42:31 +0100
committerClément Renault <clement@meilisearch.com>2020-12-10 13:42:31 +0100
commit9940c47885df3d6873aab9a78a7725cb41e8d957 (patch)
tree3033e5f3e5cbb4985db22ee82ce9926e9a7286a6 /library/alloc/tests/slice.rs
parent5190fe4979f90b2912aed5a2cf9b77e3dcfb1a9d (diff)
downloadrust-9940c47885df3d6873aab9a78a7725cb41e8d957.tar.gz
rust-9940c47885df3d6873aab9a78a7725cb41e8d957.zip
Update the slice GroupBy/Mut test
Diffstat (limited to 'library/alloc/tests/slice.rs')
-rw-r--r--library/alloc/tests/slice.rs20
1 files changed, 16 insertions, 4 deletions
diff --git a/library/alloc/tests/slice.rs b/library/alloc/tests/slice.rs
index 8f03a9240e2..777c10b1bf7 100644
--- a/library/alloc/tests/slice.rs
+++ b/library/alloc/tests/slice.rs
@@ -1901,15 +1901,19 @@ fn subslice_patterns() {
 
 #[test]
 fn test_group_by() {
-    let slice = &[1, 1, 1, 3, 3, 2, 2, 2];
+    let slice = &[1, 1, 1, 3, 3, 2, 2, 2, 1, 0];
 
     let mut iter = slice.group_by(|a, b| a == b);
     assert_eq!(iter.next(), Some(&[1, 1, 1][..]));
     assert_eq!(iter.next(), Some(&[3, 3][..]));
     assert_eq!(iter.next(), Some(&[2, 2, 2][..]));
+    assert_eq!(iter.next(), Some(&[1][..]));
+    assert_eq!(iter.next(), Some(&[0][..]));
     assert_eq!(iter.next(), None);
 
     let mut iter = slice.group_by(|a, b| a == b);
+    assert_eq!(iter.next_back(), Some(&[0][..]));
+    assert_eq!(iter.next_back(), Some(&[1][..]));
     assert_eq!(iter.next_back(), Some(&[2, 2, 2][..]));
     assert_eq!(iter.next_back(), Some(&[3, 3][..]));
     assert_eq!(iter.next_back(), Some(&[1, 1, 1][..]));
@@ -1917,22 +1921,28 @@ fn test_group_by() {
 
     let mut iter = slice.group_by(|a, b| a == b);
     assert_eq!(iter.next(), Some(&[1, 1, 1][..]));
-    assert_eq!(iter.next_back(), Some(&[2, 2, 2][..]));
+    assert_eq!(iter.next_back(), Some(&[0][..]));
     assert_eq!(iter.next(), Some(&[3, 3][..]));
+    assert_eq!(iter.next_back(), Some(&[1][..]));
+    assert_eq!(iter.next(), Some(&[2, 2, 2][..]));
     assert_eq!(iter.next_back(), None);
 }
 
 #[test]
 fn test_group_by_mut() {
-    let slice = &mut [1, 1, 1, 3, 3, 2, 2, 2];
+    let slice = &mut [1, 1, 1, 3, 3, 2, 2, 2, 1, 0];
 
     let mut iter = slice.group_by_mut(|a, b| a == b);
     assert_eq!(iter.next(), Some(&mut [1, 1, 1][..]));
     assert_eq!(iter.next(), Some(&mut [3, 3][..]));
     assert_eq!(iter.next(), Some(&mut [2, 2, 2][..]));
+    assert_eq!(iter.next(), Some(&mut [1][..]));
+    assert_eq!(iter.next(), Some(&mut [0][..]));
     assert_eq!(iter.next(), None);
 
     let mut iter = slice.group_by_mut(|a, b| a == b);
+    assert_eq!(iter.next_back(), Some(&mut [0][..]));
+    assert_eq!(iter.next_back(), Some(&mut [1][..]));
     assert_eq!(iter.next_back(), Some(&mut [2, 2, 2][..]));
     assert_eq!(iter.next_back(), Some(&mut [3, 3][..]));
     assert_eq!(iter.next_back(), Some(&mut [1, 1, 1][..]));
@@ -1940,7 +1950,9 @@ fn test_group_by_mut() {
 
     let mut iter = slice.group_by_mut(|a, b| a == b);
     assert_eq!(iter.next(), Some(&mut [1, 1, 1][..]));
-    assert_eq!(iter.next_back(), Some(&mut [2, 2, 2][..]));
+    assert_eq!(iter.next_back(), Some(&mut [0][..]));
     assert_eq!(iter.next(), Some(&mut [3, 3][..]));
+    assert_eq!(iter.next_back(), Some(&mut [1][..]));
+    assert_eq!(iter.next(), Some(&mut [2, 2, 2][..]));
     assert_eq!(iter.next_back(), None);
 }