6cf6f95f58
CodeQL / Analyze (push) Has been cancelled
Sync to Gitee / Run (push) Has been cancelled
Go / build & test (1.25.x) (push) Has been cancelled
Go / build & test (1.26.x) (push) Has been cancelled
Lint / resolve module (push) Has been cancelled
Lint / lint module (push) Has been cancelled
31 lines
636 B
Go
31 lines
636 B
Go
package subset
|
|
|
|
import (
|
|
"reflect"
|
|
"testing"
|
|
)
|
|
|
|
type testMember string
|
|
|
|
func (m testMember) String() string { return string(m) }
|
|
|
|
func TestSubsetKeepsSmallInput(t *testing.T) {
|
|
in := []testMember{"a", "b"}
|
|
got := Subset("key", in, 2)
|
|
if !reflect.DeepEqual(got, in) {
|
|
t.Fatalf("Subset() = %v, want %v", got, in)
|
|
}
|
|
}
|
|
|
|
func TestSubsetIsDeterministic(t *testing.T) {
|
|
in := []testMember{"a", "b", "c", "d"}
|
|
got := Subset("key", in, 2)
|
|
again := Subset("key", in, 2)
|
|
if !reflect.DeepEqual(got, again) {
|
|
t.Fatalf("Subset() = %v, want %v", got, again)
|
|
}
|
|
if len(got) != 2 {
|
|
t.Fatalf("len(Subset()) = %d, want 2", len(got))
|
|
}
|
|
}
|