package discovery import ( "reflect" "testing" ) func TestSortVersions(t *testing.T) { versions := Versions{ VersionStr("4").MustParse(), VersionStr("3.1").MustParse(), VersionStr("1.2").MustParse(), VersionStr("1.2.3").MustParse(), VersionStr("2.2.3").MustParse(), VersionStr("3.2.1").MustParse(), VersionStr("2.3.2").MustParse(), } expected := []string{ "4.0.0", "3.2.1", "3.1.0", "2.3.2", "2.2.3", "1.2.3", "1.2.0", } versions.Sort() var sorted []string for _, v := range versions { sorted = append(sorted, v.String()) } if !reflect.DeepEqual(sorted, expected) { t.Fatal("versions aren't sorted:", sorted) } }