github.com/zhuohuang-hust/src-cbuild@v0.0.0-20230105071821-c7aab3e7c840/api/types/versions/compare_test.go (about) 1 package versions 2 3 import ( 4 "testing" 5 ) 6 7 func assertVersion(t *testing.T, a, b string, result int) { 8 if r := compare(a, b); r != result { 9 t.Fatalf("Unexpected version comparison result. Found %d, expected %d", r, result) 10 } 11 } 12 13 func TestCompareVersion(t *testing.T) { 14 assertVersion(t, "1.12", "1.12", 0) 15 assertVersion(t, "1.0.0", "1", 0) 16 assertVersion(t, "1", "1.0.0", 0) 17 assertVersion(t, "1.05.00.0156", "1.0.221.9289", 1) 18 assertVersion(t, "1", "1.0.1", -1) 19 assertVersion(t, "1.0.1", "1", 1) 20 assertVersion(t, "1.0.1", "1.0.2", -1) 21 assertVersion(t, "1.0.2", "1.0.3", -1) 22 assertVersion(t, "1.0.3", "1.1", -1) 23 assertVersion(t, "1.1", "1.1.1", -1) 24 assertVersion(t, "1.1.1", "1.1.2", -1) 25 assertVersion(t, "1.1.2", "1.2", -1) 26 }