package utils_test

import (
	"testing"

	"github.com/stretchr/testify/assert"

	"github.com/pingcap/test-infra/common/model"
	"github.com/pingcap/test-infra/services/tcms/utils"
)

var (
	arr1   = []model.ID{0, 1, 2, 3, 4, 5}
	arr2   = []model.ID{4, 5, 6, 7, 8, 9}
	union  = []model.ID{0, 1, 2, 3, 4, 5, 6, 7, 8, 9}
	inter  = []model.ID{4, 5}
	except = []model.ID{0, 1, 2, 3}
)

func TestUnion(t *testing.T) {
	assert.Equal(t, union, utils.Union(arr1, arr2))
}

func TestIntersectIDs(t *testing.T) {
	assert.Equal(t, inter, utils.Intersect(arr1, arr2))
}

func TestExceptIDs(t *testing.T) {
	assert.Equal(t, except, utils.Except(arr1, arr2))
}
