package semver
|
|
|
|
import (
|
|
"testing"
|
|
)
|
|
|
|
func TestParse(t *testing.T) {
|
|
|
|
}
|
|
|
|
type stringerTest struct {
|
|
v Version
|
|
result string
|
|
}
|
|
|
|
var stringerTests = []stringerTest{
|
|
{Version{1, 2, 3, nil, nil}, "1.2.3"},
|
|
{Version{0, 0, 1, nil, nil}, "0.0.1"},
|
|
}
|
|
|
|
func TestStringer(t *testing.T) {
|
|
for _, test := range stringerTests {
|
|
if res := test.v.String(); res != test.result {
|
|
t.Errorf("Stringer, expected %q but got %q", test.result, res)
|
|
}
|
|
}
|
|
}
|
|
|
|
type compareTest struct {
|
|
v1 Version
|
|
v2 Version
|
|
result int
|
|
}
|
|
|
|
var compareTests = []compareTest{
|
|
{Version{1, 0, 0, nil, nil}, Version{1, 0, 0, nil, nil}, 0},
|
|
{Version{2, 0, 0, nil, nil}, Version{1, 0, 0, nil, nil}, 1},
|
|
{Version{0, 1, 0, nil, nil}, Version{0, 1, 0, nil, nil}, 0},
|
|
{Version{0, 2, 0, nil, nil}, Version{0, 1, 0, nil, nil}, 1},
|
|
{Version{0, 0, 1, nil, nil}, Version{0, 0, 1, nil, nil}, 0},
|
|
{Version{0, 0, 2, nil, nil}, Version{0, 0, 1, nil, nil}, 1},
|
|
{Version{1, 2, 3, nil, nil}, Version{1, 2, 3, nil, nil}, 0},
|
|
{Version{2, 2, 4, nil, nil}, Version{1, 2, 4, nil, nil}, 1},
|
|
{Version{1, 3, 3, nil, nil}, Version{1, 2, 3, nil, nil}, 1},
|
|
{Version{1, 2, 4, nil, nil}, Version{1, 2, 3, nil, nil}, 1},
|
|
}
|
|
|
|
func TestCompare(t *testing.T) {
|
|
for _, test := range compareTests {
|
|
if res := test.v1.compare(&test.v2); res != test.result {
|
|
t.Errorf("Comparing %q : %q, expected %d but got %d", test.v1, test.v2, test.result, res)
|
|
}
|
|
//Test counterpart
|
|
if res := test.v2.compare(&test.v1); res != -test.result {
|
|
t.Errorf("Comparing %q : %q, expected %d but got %d", test.v2, test.v1, -test.result, res)
|
|
}
|
|
}
|
|
}
|