import (
"math"
+ "slices"
"sort"
"strconv"
"testing"
)
-// TODO: replace with slices.Equal when slices is in GOROOT.
-func slicesEqual[E comparable](s1, s2 []E) bool {
- if len(s1) != len(s2) {
- return false
- }
- for i := range s1 {
- if s1[i] != s2[i] {
- return false
- }
- }
- return true
-}
-
var m1 = map[int]int{1: 2, 2: 4, 4: 8, 8: 16}
var m2 = map[int]string{1: "2", 2: "4", 4: "8", 8: "16"}
got1 := Keys(m1)
sort.Ints(got1)
- if !slicesEqual(got1, want) {
+ if !slices.Equal(got1, want) {
t.Errorf("Keys(%v) = %v, want %v", m1, got1, want)
}
got2 := Keys(m2)
sort.Ints(got2)
- if !slicesEqual(got2, want) {
+ if !slices.Equal(got2, want) {
t.Errorf("Keys(%v) = %v, want %v", m2, got2, want)
}
}
got1 := Values(m1)
want1 := []int{2, 4, 8, 16}
sort.Ints(got1)
- if !slicesEqual(got1, want1) {
+ if !slices.Equal(got1, want1) {
t.Errorf("Values(%v) = %v, want %v", m1, got1, want1)
}
got2 := Values(m2)
want2 := []string{"16", "2", "4", "8"}
sort.Strings(got2)
- if !slicesEqual(got2, want2) {
+ if !slices.Equal(got2, want2) {
t.Errorf("Values(%v) = %v, want %v", m2, got2, want2)
}
}