aboutsummaryrefslogtreecommitdiff
path: root/middleware/pkg/strings/slice_test.go
blob: 9816852cdd8f439c21efc7118efdbe61c85bbee8 (plain) (blame)
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
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)
		}
	}
}