package buildin import ( "reflect" "testing" ) func TestIntersection(t *testing.T) { // Test case 1 a := []string{"apple", "banana", "orange"} b := []string{"banana", "grape", "orange"} expected1 := []string{"banana", "orange"} result1 := Intersection(a, b) if !reflect.DeepEqual(result1, expected1) { t.Errorf("Test case 1 failed. Expected %v, got %v", expected1, result1) } // Test case 2 c := []int{1, 2, 3, 4} d := []int{2, 3, 4, 5} expected2 := []int{2, 3, 4} result2 := Intersection(c, d) if !reflect.DeepEqual(result2, expected2) { t.Errorf("Test case 2 failed. Expected %v, got %v", expected2, result2) } } func TestInSlice(t *testing.T) { // Test case 1: int slice1 := []int{1, 2, 3, 4, 5} item1 := 3 expected1 := true result1 := InSlice(item1, slice1) if result1 != expected1 { t.Errorf("Test case 1 failed. Expected %v, got %v", expected1, result1) } // Test case 2: string slice2 := []string{"apple", "banana", "orange"} item2 := "grape" expected2 := false result2 := InSlice(item2, slice2) if result2 != expected2 { t.Errorf("Test case 2 failed. Expected %v, got %v", expected2, result2) } // Test case 3: bool slice3 := []bool{true, false} item3 := true expected3 := true result3 := InSlice(item3, slice3) if result3 != expected3 { t.Errorf("Test case 3 failed. Expected %v, got %v", expected3, result3) } } func TestRemoveDuplicates(t *testing.T) { // Test case 1: []string slice1 := []string{"apple", "banana", "apple", "orange", "banana"} result1 := RemoveDuplicates(slice1) expected1 := []string{"apple", "banana", "orange"} if !reflect.DeepEqual(result1, expected1) { panic("Test case 1 failed") } // Test case 2: []int slice2 := []int{1, 2, 2, 3, 4, 4, 5} result2 := RemoveDuplicates(slice2) expected2 := []int{1, 2, 3, 4, 5} if !reflect.DeepEqual(result2, expected2) { panic("Test case 2 failed") } }