github.com/bhameyie/otto@v0.2.1-0.20160406174117-16052efa52ec/appfile/detect/config_test.go (about) 1 package detect 2 3 import ( 4 "reflect" 5 "testing" 6 ) 7 8 func TestConfigMerge(t *testing.T) { 9 cases := []struct { 10 One, Two *Config 11 Result *Config 12 }{ 13 { 14 &Config{ 15 Detectors: []*Detector{ 16 &Detector{Type: "foo"}, 17 }, 18 }, 19 &Config{ 20 Detectors: []*Detector{ 21 &Detector{Type: "bar"}, 22 }, 23 }, 24 &Config{ 25 Detectors: []*Detector{ 26 &Detector{Type: "foo"}, 27 &Detector{Type: "bar"}, 28 }, 29 }, 30 }, 31 } 32 33 for i, tc := range cases { 34 if err := tc.One.Merge(tc.Two); err != nil { 35 t.Fatalf("err: %s", err) 36 } 37 38 if !reflect.DeepEqual(tc.One, tc.Result) { 39 t.Fatalf("bad %d:\n\n%#v", i, tc.One) 40 } 41 } 42 }