|
|
|
@ -92,6 +92,46 @@ func TestFilter(t *testing.T) {
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
func TestFirstN(t *testing.T) {
|
|
|
|
|
tests := []struct {
|
|
|
|
|
name string
|
|
|
|
|
input string
|
|
|
|
|
n int
|
|
|
|
|
expect string
|
|
|
|
|
}{
|
|
|
|
|
{
|
|
|
|
|
name: "english string",
|
|
|
|
|
input: "anything that we use",
|
|
|
|
|
n: 8,
|
|
|
|
|
expect: "anything",
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
name: "english string more",
|
|
|
|
|
input: "anything that we use",
|
|
|
|
|
n: 80,
|
|
|
|
|
expect: "anything that we use",
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
name: "chinese string",
|
|
|
|
|
input: "我是中国人",
|
|
|
|
|
n: 2,
|
|
|
|
|
expect: "我是",
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
name: "chinese string",
|
|
|
|
|
input: "我是中国人",
|
|
|
|
|
n: 10,
|
|
|
|
|
expect: "我是中国人",
|
|
|
|
|
},
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
for _, test := range tests {
|
|
|
|
|
t.Run(test.name, func(t *testing.T) {
|
|
|
|
|
assert.Equal(t, test.expect, FirstN(test.input, test.n))
|
|
|
|
|
})
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
func TestRemove(t *testing.T) {
|
|
|
|
|
cases := []struct {
|
|
|
|
|
input []string
|
|
|
|
|