@@ -623,6 +623,34 @@ func TestClip(t *testing.T) {
623
623
}
624
624
}
625
625
626
+ func TestReverse (t * testing.T ) {
627
+ even := []int {3 , 1 , 4 , 1 , 5 , 9 } // len = 6
628
+ Reverse (even )
629
+ if want := []int {9 , 5 , 1 , 4 , 1 , 3 }; ! Equal (even , want ) {
630
+ t .Errorf ("Reverse(even) = %v, want %v" , even , want )
631
+ }
632
+
633
+ odd := []int {3 , 1 , 4 , 1 , 5 , 9 , 2 } // len = 7
634
+ Reverse (odd )
635
+ if want := []int {2 , 9 , 5 , 1 , 4 , 1 , 3 }; ! Equal (odd , want ) {
636
+ t .Errorf ("Reverse(odd) = %v, want %v" , odd , want )
637
+ }
638
+
639
+ words := strings .Fields ("one two three" )
640
+ Reverse (words )
641
+ if want := strings .Fields ("three two one" ); ! Equal (words , want ) {
642
+ t .Errorf ("Reverse(words) = %v, want %v" , words , want )
643
+ }
644
+
645
+ singleton := []string {"one" }
646
+ Reverse (singleton )
647
+ if want := []string {"one" }; ! Equal (singleton , want ) {
648
+ t .Errorf ("Reverse(singeleton) = %v, want %v" , singleton , want )
649
+ }
650
+
651
+ Reverse [string ](nil )
652
+ }
653
+
626
654
// naiveReplace is a baseline implementation to the Replace function.
627
655
func naiveReplace [S ~ []E , E any ](s S , i , j int , v ... E ) S {
628
656
s = Delete (s , i , j )
0 commit comments