github.com/argoproj/argo-cd/v3@v3.2.1/util/collections/maps_test.go (about) 1 package collections 2 3 import ( 4 "testing" 5 6 "github.com/stretchr/testify/assert" 7 ) 8 9 func TestMergeStringMaps(t *testing.T) { 10 tests := []struct { 11 name string 12 args []map[string]string 13 want map[string]string 14 }{ 15 { 16 name: "test single map", 17 args: []map[string]string{ 18 {"foo": "bar"}, 19 {"foo1": "bar1"}, 20 }, 21 want: map[string]string{ 22 "foo": "bar", 23 "foo1": "bar1", 24 }, 25 }, 26 { 27 name: "test contains nil map", 28 args: []map[string]string{ 29 {"foo": "bar"}, 30 nil, 31 {"foo1": "bar1"}, 32 }, 33 want: map[string]string{ 34 "foo": "bar", 35 "foo1": "bar1", 36 }, 37 }, 38 { 39 name: "test contains multiple maps", 40 args: []map[string]string{ 41 {"foo": "bar"}, 42 { 43 "foo1": "bar1", 44 "foo2": "bar2", 45 }, 46 { 47 "foo": "bar1", 48 "foo2": "bar2", 49 "foo3": "bar3", 50 }, 51 }, 52 want: map[string]string{ 53 "foo": "bar1", 54 "foo1": "bar1", 55 "foo2": "bar2", 56 "foo3": "bar3", 57 }, 58 }, 59 } 60 for _, tt := range tests { 61 t.Run(tt.name, func(t *testing.T) { 62 assert.Equalf(t, tt.want, Merge(tt.args...), "Merge[string, string](%v)", tt.args) 63 }) 64 } 65 }