package util import ( "testing" "github.com/stretchr/testify/assert" ) func TestSliceContainsItem(t *testing.T) { type want struct { result bool } tests := []struct { name string inputString string inputArray []string want want }{ { name: "In array", inputString: "test", inputArray: []string{"no", "more", "tests", "test"}, want: want{ result: true, }, }, { name: "Not in array", inputString: "test", inputArray: []string{"no", "more", "tests"}, want: want{ result: false, }, }, { name: "Case sensitive", inputString: "test", inputArray: []string{"no", "TEST", "more"}, want: want{ result: false, }, }, } for _, tt := range tests { t.Run(tt.name, func(t *testing.T) { got := SliceContainsItem(tt.inputArray, tt.inputString) assert.Equal(t, tt.want.result, got) }) } } func TestSliceContainsInt(t *testing.T) { type want struct { result bool } tests := []struct { name string inputInt int inputArray []int want want }{ { name: "In array", inputInt: 1, inputArray: []int{1, 2, 3, 4}, want: want{ result: true, }, }, { name: "Not in array", inputInt: 1, inputArray: []int{10, 2, 3, 4}, want: want{ result: false, }, }, } for _, tt := range tests { t.Run(tt.name, func(t *testing.T) { got := SliceContainsInt(tt.inputArray, tt.inputInt) assert.Equal(t, tt.want.result, got) }) } } func TestConvertIntSliceToString(t *testing.T) { items := []int{1, 2, 3, 4, 5, 6, 7} expectedStr := "1,2,3,4,5,6,7" str := ConvertIntSliceToString(items) assert.Equal(t, expectedStr, str) }