package fsjobqueue import ( "testing" "github.com/google/uuid" "github.com/stretchr/testify/require" ) func uuidList(t *testing.T, strs ...string) []uuid.UUID { var err error ids := make([]uuid.UUID, len(strs)) for i, s := range strs { ids[i], err = uuid.Parse(s) require.NoError(t, err) } return ids } func TestUniqueUUIDList(t *testing.T) { l := uniqueUUIDList([]uuid.UUID{}) require.Empty(t, l) s := uuidList(t, "8ad6bbcd-55f9-4cd8-be45-d0370ff079d2", "a0ad7428-b813-4efb-a156-da2b524f4868", "36e5817c-f29d-4043-8d7d-95ffaa77ff88") l = uniqueUUIDList(s) require.ElementsMatch(t, s, l) s = uuidList(t, "8ad6bbcd-55f9-4cd8-be45-d0370ff079d2", "8ad6bbcd-55f9-4cd8-be45-d0370ff079d2") l = uniqueUUIDList(s) require.ElementsMatch(t, uuidList(t, "8ad6bbcd-55f9-4cd8-be45-d0370ff079d2"), l) s = uuidList(t, "8ad6bbcd-55f9-4cd8-be45-d0370ff079d2", "a0ad7428-b813-4efb-a156-da2b524f4868", "8ad6bbcd-55f9-4cd8-be45-d0370ff079d2") l = uniqueUUIDList(s) require.ElementsMatch(t, uuidList(t, "8ad6bbcd-55f9-4cd8-be45-d0370ff079d2", "a0ad7428-b813-4efb-a156-da2b524f4868"), l) }