diff --git a/pkg/collections/collection_test.go b/pkg/collections/collection_test.go new file mode 100644 index 0000000000000000000000000000000000000000..26be4e257a545c5952e9ff190965d89abdebbe09 --- /dev/null +++ b/pkg/collections/collection_test.go @@ -0,0 +1,69 @@ +package collections + +import ( + "testing" + + "github.com/stretchr/testify/require" +) + +func TestView_Equal(t *testing.T) { + tests := []struct { + name string + input1 *View + input2 *View + output bool + }{ + { + name: "v==nil,v1==nil", + input1: nil, + input2: nil, + output: true, + }, + { + name: "v!=nil,v1==nil", + input1: &View{}, + input2: nil, + output: false, + }, + { + name: "v==nil,v1!=nil", + input1: nil, + input2: &View{}, + output: false, + }, + { + name: "v!=nil,v1!=nil,v!=v1", + input1: &View{ + SpaceID: "spaceID", + EnvID: "envID", + CollectionID: "collectionID", + Filter: "filter", + }, + input2: &View{}, + output: false, + }, + { + name: "v!=nil,v1!=nil,v==v1", + input1: &View{ + SpaceID: "spaceID", + EnvID: "envID", + CollectionID: "collectionID", + Filter: "filter", + }, + input2: &View{ + SpaceID: "spaceID", + EnvID: "envID", + CollectionID: "collectionID", + Filter: "filter", + }, + output: true, + }, + } + + for _, tc := range tests { + t.Run(tc.name, func(t *testing.T) { + output := tc.input1.Equal(tc.input2) + require.Equal(t, tc.output, output) + }) + } +}