@@ -249,6 +249,40 @@ fn test_chunks_nth() {
249
249
assert_eq ! ( c2. next( ) , None ) ;
250
250
}
251
251
252
+ #[ test]
253
+ fn test_chunks_next ( ) {
254
+ let v = [ 0 , 1 , 2 , 3 , 4 , 5 ] ;
255
+ let mut c = v. chunks ( 2 ) ;
256
+ assert_eq ! ( c. next( ) . unwrap( ) , & [ 0 , 1 ] ) ;
257
+ assert_eq ! ( c. next( ) . unwrap( ) , & [ 2 , 3 ] ) ;
258
+ assert_eq ! ( c. next( ) . unwrap( ) , & [ 4 , 5 ] ) ;
259
+ assert_eq ! ( c. next( ) , None ) ;
260
+
261
+ let v = [ 0 , 1 , 2 , 3 , 4 , 5 , 6 , 7 ] ;
262
+ let mut c = v. chunks ( 3 ) ;
263
+ assert_eq ! ( c. next( ) . unwrap( ) , & [ 0 , 1 , 2 ] ) ;
264
+ assert_eq ! ( c. next( ) . unwrap( ) , & [ 3 , 4 , 5 ] ) ;
265
+ assert_eq ! ( c. next( ) . unwrap( ) , & [ 6 , 7 ] ) ;
266
+ assert_eq ! ( c. next( ) , None ) ;
267
+ }
268
+
269
+ #[ test]
270
+ fn test_chunks_next_back ( ) {
271
+ let v = [ 0 , 1 , 2 , 3 , 4 , 5 ] ;
272
+ let mut c = v. chunks ( 2 ) ;
273
+ assert_eq ! ( c. next_back( ) . unwrap( ) , & [ 4 , 5 ] ) ;
274
+ assert_eq ! ( c. next_back( ) . unwrap( ) , & [ 2 , 3 ] ) ;
275
+ assert_eq ! ( c. next_back( ) . unwrap( ) , & [ 0 , 1 ] ) ;
276
+ assert_eq ! ( c. next_back( ) , None ) ;
277
+
278
+ let v = [ 0 , 1 , 2 , 3 , 4 , 5 , 6 , 7 ] ;
279
+ let mut c = v. chunks ( 3 ) ;
280
+ assert_eq ! ( c. next_back( ) . unwrap( ) , & [ 6 , 7 ] ) ;
281
+ assert_eq ! ( c. next_back( ) . unwrap( ) , & [ 3 , 4 , 5 ] ) ;
282
+ assert_eq ! ( c. next_back( ) . unwrap( ) , & [ 0 , 1 , 2 ] ) ;
283
+ assert_eq ! ( c. next_back( ) , None ) ;
284
+ }
285
+
252
286
#[ test]
253
287
fn test_chunks_nth_back ( ) {
254
288
let v: & [ i32 ] = & [ 0 , 1 , 2 , 3 , 4 , 5 ] ;
@@ -807,6 +841,40 @@ fn test_rchunks_nth_back() {
807
841
assert_eq ! ( c2. next_back( ) , None ) ;
808
842
}
809
843
844
+ #[ test]
845
+ fn test_rchunks_next ( ) {
846
+ let v = [ 0 , 1 , 2 , 3 , 4 , 5 ] ;
847
+ let mut c = v. rchunks ( 2 ) ;
848
+ assert_eq ! ( c. next( ) . unwrap( ) , & [ 4 , 5 ] ) ;
849
+ assert_eq ! ( c. next( ) . unwrap( ) , & [ 2 , 3 ] ) ;
850
+ assert_eq ! ( c. next( ) . unwrap( ) , & [ 0 , 1 ] ) ;
851
+ assert_eq ! ( c. next( ) , None ) ;
852
+
853
+ let v = [ 0 , 1 , 2 , 3 , 4 , 5 , 6 , 7 ] ;
854
+ let mut c = v. rchunks ( 3 ) ;
855
+ assert_eq ! ( c. next( ) . unwrap( ) , & [ 5 , 6 , 7 ] ) ;
856
+ assert_eq ! ( c. next( ) . unwrap( ) , & [ 2 , 3 , 4 ] ) ;
857
+ assert_eq ! ( c. next( ) . unwrap( ) , & [ 0 , 1 ] ) ;
858
+ assert_eq ! ( c. next( ) , None ) ;
859
+ }
860
+
861
+ #[ test]
862
+ fn test_rchunks_next_back ( ) {
863
+ let v = [ 0 , 1 , 2 , 3 , 4 , 5 ] ;
864
+ let mut c = v. rchunks ( 2 ) ;
865
+ assert_eq ! ( c. next_back( ) . unwrap( ) , & [ 0 , 1 ] ) ;
866
+ assert_eq ! ( c. next_back( ) . unwrap( ) , & [ 2 , 3 ] ) ;
867
+ assert_eq ! ( c. next_back( ) . unwrap( ) , & [ 4 , 5 ] ) ;
868
+ assert_eq ! ( c. next_back( ) , None ) ;
869
+
870
+ let v = [ 0 , 1 , 2 , 3 , 4 , 5 , 6 , 7 ] ;
871
+ let mut c = v. rchunks ( 3 ) ;
872
+ assert_eq ! ( c. next_back( ) . unwrap( ) , & [ 0 , 1 ] ) ;
873
+ assert_eq ! ( c. next_back( ) . unwrap( ) , & [ 2 , 3 , 4 ] ) ;
874
+ assert_eq ! ( c. next_back( ) . unwrap( ) , & [ 5 , 6 , 7 ] ) ;
875
+ assert_eq ! ( c. next_back( ) , None ) ;
876
+ }
877
+
810
878
#[ test]
811
879
fn test_rchunks_last ( ) {
812
880
let v: & [ i32 ] = & [ 0 , 1 , 2 , 3 , 4 , 5 ] ;
@@ -872,6 +940,40 @@ fn test_rchunks_mut_nth_back() {
872
940
assert_eq ! ( c2. next_back( ) , None ) ;
873
941
}
874
942
943
+ #[ test]
944
+ fn test_rchunks_mut_next ( ) {
945
+ let mut v = [ 0 , 1 , 2 , 3 , 4 , 5 ] ;
946
+ let mut c = v. rchunks_mut ( 2 ) ;
947
+ assert_eq ! ( c. next( ) . unwrap( ) , & mut [ 4 , 5 ] ) ;
948
+ assert_eq ! ( c. next( ) . unwrap( ) , & mut [ 2 , 3 ] ) ;
949
+ assert_eq ! ( c. next( ) . unwrap( ) , & mut [ 0 , 1 ] ) ;
950
+ assert_eq ! ( c. next( ) , None ) ;
951
+
952
+ let mut v = [ 0 , 1 , 2 , 3 , 4 , 5 , 6 , 7 ] ;
953
+ let mut c = v. rchunks_mut ( 3 ) ;
954
+ assert_eq ! ( c. next( ) . unwrap( ) , & mut [ 5 , 6 , 7 ] ) ;
955
+ assert_eq ! ( c. next( ) . unwrap( ) , & mut [ 2 , 3 , 4 ] ) ;
956
+ assert_eq ! ( c. next( ) . unwrap( ) , & mut [ 0 , 1 ] ) ;
957
+ assert_eq ! ( c. next( ) , None ) ;
958
+ }
959
+
960
+ #[ test]
961
+ fn test_rchunks_mut_next_back ( ) {
962
+ let mut v = [ 0 , 1 , 2 , 3 , 4 , 5 ] ;
963
+ let mut c = v. rchunks_mut ( 2 ) ;
964
+ assert_eq ! ( c. next_back( ) . unwrap( ) , & mut [ 0 , 1 ] ) ;
965
+ assert_eq ! ( c. next_back( ) . unwrap( ) , & mut [ 2 , 3 ] ) ;
966
+ assert_eq ! ( c. next_back( ) . unwrap( ) , & mut [ 4 , 5 ] ) ;
967
+ assert_eq ! ( c. next_back( ) , None ) ;
968
+
969
+ let mut v = [ 0 , 1 , 2 , 3 , 4 , 5 , 6 , 7 ] ;
970
+ let mut c = v. rchunks_mut ( 3 ) ;
971
+ assert_eq ! ( c. next_back( ) . unwrap( ) , & mut [ 0 , 1 ] ) ;
972
+ assert_eq ! ( c. next_back( ) . unwrap( ) , & mut [ 2 , 3 , 4 ] ) ;
973
+ assert_eq ! ( c. next_back( ) . unwrap( ) , & mut [ 5 , 6 , 7 ] ) ;
974
+ assert_eq ! ( c. next_back( ) , None ) ;
975
+ }
976
+
875
977
#[ test]
876
978
fn test_rchunks_mut_last ( ) {
877
979
let v: & mut [ i32 ] = & mut [ 0 , 1 , 2 , 3 , 4 , 5 ] ;
0 commit comments