github.com/nextlinux/gosbom@v0.81.1-0.20230627115839-1ff50c281391/gosbom/cpe/merge_cpes_test.go (about) 1 package cpe 2 3 import ( 4 "testing" 5 6 "github.com/stretchr/testify/assert" 7 ) 8 9 func Test_Merge(t *testing.T) { 10 tests := []struct { 11 name string 12 input [][]CPE 13 expected []CPE 14 }{ 15 { 16 name: "merge, removing duplicates and ordered", 17 input: [][]CPE{ 18 { 19 Must("cpe:2.3:a:*:package:1:*:*:*:*:*:*:*"), 20 Must("cpe:2.3:a:some:package:*:*:*:*:*:*:*:*"), 21 }, 22 { 23 Must("cpe:2.3:a:some:package:1:*:*:*:*:*:*:*"), 24 Must("cpe:2.3:a:some:package:*:*:*:*:*:*:*:*"), 25 }, 26 }, 27 expected: []CPE{ 28 Must("cpe:2.3:a:some:package:1:*:*:*:*:*:*:*"), 29 Must("cpe:2.3:a:some:package:*:*:*:*:*:*:*:*"), 30 Must("cpe:2.3:a:*:package:1:*:*:*:*:*:*:*"), 31 }, 32 }, 33 } 34 35 for _, test := range tests { 36 t.Run(test.name, func(t *testing.T) { 37 out := Merge(test.input[0], test.input[1]) 38 assert.Equal(t, test.expected, out) 39 }) 40 } 41 }