package utils_test /* ---------------------------------------------------------------- * * UNIT TESTING * ---------------------------------------------------------------- */ import ( "logik/core/utils" "strings" "testing" "github.com/stretchr/testify/assert" ) /* ---------------------------------------------------------------- * * TESTCASE Min2, Max2, MinList, MaxList * ---------------------------------------------------------------- */ func TestMin(test *testing.T) { var assert = assert.New(test) assert.Equal(3, utils.Min2(3, 8)) assert.Equal(8, utils.Min2(100, 8)) assert.Equal(50, utils.MinList([]int{50})) assert.Equal(1, utils.MinList([]int{50, 1})) assert.Equal(2, utils.MinList([]int{50, 34, 10, 2, 8, 89})) } func TestMax(test *testing.T) { var assert = assert.New(test) assert.Equal(8, utils.Max2(3, 8)) assert.Equal(100, utils.Max2(100, 8)) assert.Equal(50, utils.MaxList([]int{50})) assert.Equal(50, utils.MaxList([]int{50, 1})) assert.Equal(89, utils.MaxList([]int{50, 34, 10, 2, 8, 89})) } /* ---------------------------------------------------------------- * * TESTCASE SortStrings * ---------------------------------------------------------------- */ func TestSortStrings(test *testing.T) { var assert = assert.New(test) var list = []string{"katze", "Hund", "baby", "Pluto", "Saturn", "Mond"} utils.SortStrings(&list) assert.Equal([]string{"baby", "Hund", "katze", "Mond", "Pluto", "Saturn"}, list) } /* ---------------------------------------------------------------- * * TESTCASE SortStrings * ---------------------------------------------------------------- */ func TestFilterStrings(test *testing.T) { var assert = assert.New(test) var list = []string{"abram", "aaron", "aardvark", "aarhus", "alaska", "eel", "aal"} var list2 = utils.FilterStrings(&list, func(x string) bool { return strings.HasPrefix(x, "aa") }) assert.Equal([]string{"aaron", "aardvark", "aarhus", "aal"}, list2) } /* ---------------------------------------------------------------- * * TESTCASE UnionStrings2, UnionStringsTo, UnionStringsList * ---------------------------------------------------------------- */ func TestUnionStrings2(test *testing.T) { var assert = assert.New(test) var list1 = []string{"red", "blue", "blue", "green", "blue", "grey", "black", "green"} var list2 = []string{"yellow", "orange", "lila", "red"} var list = utils.UnionStrings2(list1, list2) utils.SortStrings(&list) assert.Equal([]string{"black", "blue", "green", "grey", "lila", "orange", "red", "yellow"}, list) } func TestUnionStringsTo(test *testing.T) { var assert = assert.New(test) var list1 = []string{"red", "blue", "green"} var list2 = []string{"yellow", "red", "blue", "red", "black"} utils.UnionStringsTo(&list1, list2) utils.SortStrings(&list1) assert.Equal([]string{"black", "blue", "green", "red", "yellow"}, list1) } func TestUnionStringsList(test *testing.T) { var assert = assert.New(test) var list []string var lists [][]string lists = [][]string{{"red", "blue", "blue", "green"}, {"yellow", "red", "black"}} list = utils.UnionStringsList(lists) utils.SortStrings(&list) assert.Equal([]string{"black", "blue", "green", "red", "yellow"}, list) }