Select Git revision
collection_test.go 1.81 KiB
package collections
import (
"testing"
"github.com/stretchr/testify/require"
)
func TestView_Equal(t *testing.T) {
testCases := []struct {
name string
view1 *View
view2 *View
want bool
}{
{
name: "Both views are nil",
view1: nil,
view2: nil,
want: true,
},
{
name: "View1 is nil",
view1: nil,
view2: &View{},
want: false,
},
{
name: "View2 is nil",
view1: &View{},
view2: nil,
want: false,
},
{
name: "Different views",
view1: &View{
SpaceID: "spaceID1",
EnvID: "envID1",
CollectionID: "collectionID1",
Filter: "filter1",
},
view2: &View{
SpaceID: "spaceID2",
EnvID: "envID2",
CollectionID: "collectionID2",
Filter: "filter2",
},
want: false,
},
{
name: "Equal views",
view1: &View{
SpaceID: "spaceID",
EnvID: "envID",
CollectionID: "collectionID",
Filter: "filter",
},
view2: &View{
SpaceID: "spaceID",
EnvID: "envID",
CollectionID: "collectionID",
Filter: "filter",
},
want: true,
},
{
name: "Empty view1 and non-empty view2",
view1: &View{},
view2: &View{
SpaceID: "spaceID",
EnvID: "envID",
CollectionID: "collectionID",
Filter: "filter",
},
want: false,
},
{
name: "Empty view2 and non-empty view1",
view1: &View{
SpaceID: "spaceID",
EnvID: "envID",
CollectionID: "collectionID",
Filter: "filter",
},
view2: &View{},
want: false,
},
{
name: "Empty view1 and view2",
view1: &View{},
view2: &View{},
want: true,
},
}
for _, tc := range testCases {
t.Run(tc.name, func(t *testing.T) {
output := tc.view1.Equal(tc.view2)
require.Equal(t, tc.want, output)
})
}
}