Add test cases of models.Packages
This commit is contained in:
		@@ -48,7 +48,7 @@ func (ps Packages) MergeNewVersion(as Packages) {
 | 
			
		||||
 | 
			
		||||
// Merge returns merged map (immutable)
 | 
			
		||||
func (ps Packages) Merge(other Packages) Packages {
 | 
			
		||||
	merged := map[string]Package{}
 | 
			
		||||
	merged := Packages{}
 | 
			
		||||
	for k, v := range ps {
 | 
			
		||||
		merged[k] = v
 | 
			
		||||
	}
 | 
			
		||||
 
 | 
			
		||||
@@ -57,3 +57,91 @@ func TestMergeNewVersion(t *testing.T) {
 | 
			
		||||
		t.Errorf("expected %s, actual %s", e, a)
 | 
			
		||||
	}
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func TestMerge(t *testing.T) {
 | 
			
		||||
	var test = struct {
 | 
			
		||||
		a        Packages
 | 
			
		||||
		b        Packages
 | 
			
		||||
		expected Packages
 | 
			
		||||
	}{
 | 
			
		||||
		Packages{
 | 
			
		||||
			"hoge": {Name: "hoge"},
 | 
			
		||||
			"fuga": {Name: "fuga"},
 | 
			
		||||
		},
 | 
			
		||||
		Packages{
 | 
			
		||||
			"hega": {Name: "hega"},
 | 
			
		||||
			"hage": {Name: "hage"},
 | 
			
		||||
		},
 | 
			
		||||
		Packages{
 | 
			
		||||
			"hoge": {Name: "hoge"},
 | 
			
		||||
			"fuga": {Name: "fuga"},
 | 
			
		||||
			"hega": {Name: "hega"},
 | 
			
		||||
			"hage": {Name: "hage"},
 | 
			
		||||
		},
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	actual := test.a.Merge(test.b)
 | 
			
		||||
	if !reflect.DeepEqual(actual, test.expected) {
 | 
			
		||||
		e := pp.Sprintf("%v", test.expected)
 | 
			
		||||
		a := pp.Sprintf("%v", actual)
 | 
			
		||||
		t.Errorf("expected %s, actual %s", e, a)
 | 
			
		||||
	}
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func TestFormatVersionsFromTo(t *testing.T) {
 | 
			
		||||
	var tests = []struct {
 | 
			
		||||
		packs    Packages
 | 
			
		||||
		expected string
 | 
			
		||||
	}{
 | 
			
		||||
		{
 | 
			
		||||
			packs: Packages{
 | 
			
		||||
				"hoge": {
 | 
			
		||||
					Name:       "hoge",
 | 
			
		||||
					Version:    "1.0.0",
 | 
			
		||||
					Release:    "release1",
 | 
			
		||||
					NewVersion: "1.0.1",
 | 
			
		||||
					NewRelease: "release2",
 | 
			
		||||
				},
 | 
			
		||||
			},
 | 
			
		||||
			expected: "hoge-1.0.0-release1 -> hoge-1.0.1-release2",
 | 
			
		||||
		},
 | 
			
		||||
		{
 | 
			
		||||
			packs: Packages{
 | 
			
		||||
				"hoge": {
 | 
			
		||||
					Name:       "hoge",
 | 
			
		||||
					Version:    "1.0.0",
 | 
			
		||||
					Release:    "",
 | 
			
		||||
					NewVersion: "1.0.1",
 | 
			
		||||
					NewRelease: "",
 | 
			
		||||
				},
 | 
			
		||||
			},
 | 
			
		||||
			expected: "hoge-1.0.0 -> hoge-1.0.1",
 | 
			
		||||
		},
 | 
			
		||||
		{
 | 
			
		||||
			packs: Packages{
 | 
			
		||||
				"hoge": {
 | 
			
		||||
					Name:       "hoge",
 | 
			
		||||
					Version:    "1.0.0",
 | 
			
		||||
					Release:    "",
 | 
			
		||||
					NewVersion: "1.0.1",
 | 
			
		||||
					NewRelease: "",
 | 
			
		||||
				},
 | 
			
		||||
				"fuga": {
 | 
			
		||||
					Name:       "fuga",
 | 
			
		||||
					Version:    "2.0.0",
 | 
			
		||||
					Release:    "",
 | 
			
		||||
					NewVersion: "2.0.1",
 | 
			
		||||
					NewRelease: "",
 | 
			
		||||
				},
 | 
			
		||||
			},
 | 
			
		||||
			expected: "hoge-1.0.0 -> hoge-1.0.1\nfuga-2.0.0 -> fuga-2.0.1",
 | 
			
		||||
		},
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	for _, tt := range tests {
 | 
			
		||||
		actual := tt.packs.FormatVersionsFromTo()
 | 
			
		||||
		if !reflect.DeepEqual(tt.expected, actual) {
 | 
			
		||||
			t.Errorf("\nexpected: %v\n  actual: %v\n", tt.expected, actual)
 | 
			
		||||
		}
 | 
			
		||||
	}
 | 
			
		||||
}
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user