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  }