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  }