coredns/middleware/pkg/strings/slice_test.go
2016-09-23 09:48:11 -03:00

33 lines
819 B
Go

package strings
import (
"testing"
)
type InSliceData struct {
Slice []string
String string
InSlice bool
}
// Test data for TestStringInSlice cases.
var testdataInSlice = []struct {
Slice []string
String string
ExpectedResult bool
}{
{[]string{"a", "b", "c"}, "a", true},
{[]string{"a", "b", "c"}, "d", false},
{[]string{"a", "b", "c"}, "", false},
{[]string{}, "a", false},
{[]string{}, "", false},
}
func TestStringInSlice(t *testing.T) {
for _, example := range testdataInSlice {
actualResult := StringInSlice(example.String, example.Slice)
if actualResult != example.ExpectedResult {
t.Errorf("Expected stringInSlice result '%v' for example string='%v', slice='%v'. Instead got result '%v'.", example.ExpectedResult, example.String, example.Slice, actualResult)
}
}
}