-
-
Notifications
You must be signed in to change notification settings - Fork 15
/
language_test.go
48 lines (43 loc) · 1.82 KB
/
language_test.go
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
package inclusion
import (
"testing"
"github.com/stretchr/testify/require"
)
func TestFilter(t *testing.T) {
tests := []struct {
name string
input string
filtered bool
}{
{name: "LGTB should be LGTB+", input: "I do really support LGTB groups", filtered: true},
{name: "abcdlgtbe is ok", input: "abcdlgtbe", filtered: false},
{name: "LGTB+ should be ok", input: "I do really support LGTB+ groups", filtered: false},
{name: "'minusvalida' should be 'persona discapacitada'", input: "Mi vecina es minusvalida", filtered: true},
{name: "'persona con discapacidad' is right ", input: "Mi vecino es una persona con discapacidad", filtered: false},
{name: "bcneng sucks is rude", input: "bcneng sucks", filtered: true},
{name: "bcneng is awesome is nice", input: "bcneng is awesome", filtered: false},
{name: "'buena localización' is right even though contains the word 'loca'", input: "buena localización", filtered: false},
{name: "'ladies' is not usually used in the right context", input: "hi ladies!", filtered: true},
{name: "'retrassada' should be 'Trastorn del desenvolupament intel·lectual'", input: "L'entrega ha sigut retrassada", filtered: true},
{name: "'noi' should be 'persona'", input: "És un noi simpàtic", filtered: true},
{name: "'noible' should be ok", input: "És una persona noible", filtered: false},
}
extraFilters := []InclusiveFilter{
{
Filter: "bcneng sucks",
Reply: "We do not expect you to love us unconditionally, however we do really love you all!",
},
}
for _, test := range tests {
t.Run(test.name, func(t *testing.T) {
output := Filter(test.input, extraFilters...)
if test.filtered {
require.NotEmpty(t, output, output)
require.NotEmpty(t, output.Filter)
require.NotEmpty(t, output.Reply)
} else {
require.Nil(t, output, output)
}
})
}
}