@@ -249,6 +249,40 @@ fn test_chunks_nth() {
249249 assert_eq ! ( c2. next( ) , None ) ;
250250}
251251
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+
252286#[ test]
253287fn test_chunks_nth_back ( ) {
254288 let v: & [ i32 ] = & [ 0 , 1 , 2 , 3 , 4 , 5 ] ;
@@ -807,6 +841,40 @@ fn test_rchunks_nth_back() {
807841 assert_eq ! ( c2. next_back( ) , None ) ;
808842}
809843
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+
810878#[ test]
811879fn test_rchunks_last ( ) {
812880 let v: & [ i32 ] = & [ 0 , 1 , 2 , 3 , 4 , 5 ] ;
@@ -872,6 +940,40 @@ fn test_rchunks_mut_nth_back() {
872940 assert_eq ! ( c2. next_back( ) , None ) ;
873941}
874942
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+
875977#[ test]
876978fn test_rchunks_mut_last ( ) {
877979 let v: & mut [ i32 ] = & mut [ 0 , 1 , 2 , 3 , 4 , 5 ] ;
0 commit comments