...
1 package stringslice
2
3 import (
4 "testing"
5 "unicode"
6
7 "github.com/stretchr/testify/assert"
8 )
9
10 func TestFilter(t *testing.T) {
11 var filter = func(a string) func(b string) bool {
12 return func(b string) bool {
13 return a == b
14 }
15 }
16
17 assert.EqualValues(t, []string{"bar"}, Filter([]string{"foo", "bar"}, filter("foo")))
18 assert.EqualValues(t, []string{"foo"}, Filter([]string{"foo", "bar"}, filter("bar")))
19 assert.EqualValues(t, []string{"foo", "bar"}, Filter([]string{"foo", "bar"}, filter("baz")))
20 }
21
22 func TestTrimEmptyFilter(t *testing.T) {
23 assert.EqualValues(t, []string{}, TrimEmptyFilter([]string{" ", " ", " "}, unicode.IsSpace))
24 assert.EqualValues(t, []string{"a"}, TrimEmptyFilter([]string{"a", " ", " ", " "}, unicode.IsSpace))
25 }
26
27 func TestTrimSpaceEmptyFilter(t *testing.T) {
28 assert.EqualValues(t, []string{}, TrimSpaceEmptyFilter([]string{" ", " ", " "}))
29 assert.EqualValues(t, []string{"a"}, TrimSpaceEmptyFilter([]string{"a", " ", " ", " "}))
30 }
31
View as plain text