github.com/khulnasoft-lab/tunnel-db@v0.0.0-20231117205118-74e1113bd007/pkg/utils/ints/ints_test.go (about) 1 package ints_test 2 3 import ( 4 "testing" 5 6 "github.com/stretchr/testify/assert" 7 8 "github.com/khulnasoft-lab/tunnel-db/pkg/utils/ints" 9 ) 10 11 func TestHasIntersection(t *testing.T) { 12 type args struct { 13 list1 []int 14 list2 []int 15 } 16 tests := []struct { 17 name string 18 args args 19 want bool 20 }{ 21 { 22 name: "happy path", 23 args: args{ 24 list1: []int{1, 2, 4}, 25 list2: []int{3, 4, 5}, 26 }, 27 want: true, 28 }, 29 { 30 name: "sad path", 31 args: args{ 32 list1: []int{1, 2, 3}, 33 list2: []int{4, 5, 6}, 34 }, 35 want: false, 36 }, 37 } 38 for _, tt := range tests { 39 t.Run(tt.name, func(t *testing.T) { 40 got := ints.HasIntersection(tt.args.list1, tt.args.list2) 41 assert.Equal(t, tt.want, got) 42 }) 43 } 44 } 45 46 func TestUnique(t *testing.T) { 47 tests := []struct { 48 name string 49 ints []int 50 want []int 51 }{ 52 { 53 name: "happy path", 54 ints: []int{1, 3, 1, 2, 3}, 55 want: []int{1, 2, 3}, 56 }, 57 { 58 name: "length 1", 59 ints: []int{1}, 60 want: []int{1}, 61 }, 62 } 63 for _, tt := range tests { 64 t.Run(tt.name, func(t *testing.T) { 65 got := ints.Unique(tt.ints) 66 assert.Equal(t, tt.want, got) 67 }) 68 } 69 }