1package semver 2 3import ( 4 "reflect" 5 "sort" 6 "testing" 7) 8 9func TestCollection(t *testing.T) { 10 raw := []string{ 11 "1.2.3", 12 "1.0", 13 "1.3", 14 "2", 15 "0.4.2", 16 } 17 18 vs := make([]*Version, len(raw)) 19 for i, r := range raw { 20 v, err := NewVersion(r) 21 if err != nil { 22 t.Errorf("Error parsing version: %s", err) 23 } 24 25 vs[i] = v 26 } 27 28 sort.Sort(Collection(vs)) 29 30 e := []string{ 31 "0.4.2", 32 "1.0.0", 33 "1.2.3", 34 "1.3.0", 35 "2.0.0", 36 } 37 38 a := make([]string, len(vs)) 39 for i, v := range vs { 40 a[i] = v.String() 41 } 42 43 if !reflect.DeepEqual(a, e) { 44 t.Error("Sorting Collection failed") 45 } 46} 47