...
1 package charts
2
3 import (
4 "testing"
5
6 "github.com/go-test/deep"
7 )
8
9 func TestMergeMaps(t *testing.T) {
10 for _, tc := range []struct {
11 a, b, expected map[string]interface{}
12 }{
13 {
14 a: map[string]interface{}{"aaa": "foo"},
15 b: map[string]interface{}{"bbb": "bar"},
16 expected: map[string]interface{}{"aaa": "foo", "bbb": "bar"},
17 },
18 {
19 a: map[string]interface{}{"aaa": "foo"},
20 b: map[string]interface{}{"aaa": "bar", "bbb": "bar"},
21 expected: map[string]interface{}{"aaa": "bar", "bbb": "bar"},
22 },
23 {
24 a: map[string]interface{}{"aaa": "foo", "bbb": map[string]interface{}{"aaa": "foo"}},
25 b: map[string]interface{}{"aaa": "bar", "bbb": map[string]interface{}{"aaa": "bar"}},
26 expected: map[string]interface{}{"aaa": "bar", "bbb": map[string]interface{}{"aaa": "bar"}},
27 },
28 {
29 a: map[string]interface{}{"aaa": "foo", "bbb": map[string]interface{}{"aaa": "foo"}},
30 b: map[string]interface{}{"aaa": "foo", "bbb": map[string]interface{}{"aaa": "bar", "ccc": "foo"}},
31 expected: map[string]interface{}{"aaa": "foo", "bbb": map[string]interface{}{"aaa": "bar", "ccc": "foo"}},
32 },
33 } {
34 if diff := deep.Equal(MergeMaps(tc.a, tc.b), tc.expected); diff != nil {
35 t.Errorf("mismatch: %+v", diff)
36 }
37 }
38 }
39
View as plain text