1
1
package remote
2
2
3
3
import (
4
+ "fmt"
4
5
"sort"
5
6
"testing"
7
+
8
+ "github.com/stretchr/testify/assert"
6
9
)
7
10
8
11
func TestToString (t * testing.T ) {
@@ -63,10 +66,13 @@ func TestParseVersions(t *testing.T) {
63
66
64
67
func TestSorter (t * testing.T ) {
65
68
values := []string {
69
+ "2.0.2" ,
70
+ "2.0.1" ,
66
71
"2" ,
67
72
"1.2" ,
68
73
"1" ,
69
74
"1.2.3" ,
75
+ "1.0.9" ,
70
76
}
71
77
72
78
var versions []defaultVersion
@@ -77,19 +83,36 @@ func TestSorter(t *testing.T) {
77
83
}
78
84
79
85
sort .Sort (defaultVersionList (versions ))
80
- if versions [0 ].Major != 1 {
81
- t .Log (versions )
82
- }
83
86
84
- if versions [1 ].Minor != 2 {
85
- t .Log (versions )
87
+ expected_versions := []defaultVersion {
88
+ {1 , 0 , 0 , "" },
89
+ {1 , 0 , 9 , "" },
90
+ {1 , 2 , 0 , "" },
91
+ {1 , 2 , 3 , "" },
92
+ {2 , 0 , 0 , "" },
93
+ {2 , 0 , 1 , "" },
94
+ {2 , 0 , 2 , "" },
86
95
}
87
96
88
- if versions [ 2 ]. Patch != 3 {
89
- t . Log ( versions )
97
+ for i := 0 ; i < len ( expected_versions ); i ++ {
98
+ assert . Equal ( t , expected_versions [ i ], versions [ i ], fmt . Sprintf ( " versions[%d] should be %v" , i , expected_versions [ i ]) )
90
99
}
100
+ }
91
101
92
- if versions [3 ].Major != 2 {
93
- t .Log (versions )
102
+ func TestLess (t * testing.T ) {
103
+ test_cases := []struct {
104
+ l , r defaultVersion
105
+ compare int
106
+ }{
107
+ {defaultVersion {1 , 0 , 0 , "" }, defaultVersion {1 , 0 , 1 , "" }, - 1 },
108
+ {defaultVersion {1 , 0 , 0 , "" }, defaultVersion {1 , 0 , 0 , "" }, 0 },
109
+ {defaultVersion {1 , 0 , 2 , "" }, defaultVersion {1 , 1 , 0 , "" }, - 1 },
110
+ {defaultVersion {1 , 1 , 0 , "" }, defaultVersion {1 , 0 , 1 , "" }, 1 },
111
+ {defaultVersion {1 , 0 , 0 , "rc1" }, defaultVersion {1 , 0 , 0 , "rc2" }, - 1 },
112
+ {defaultVersion {1 , 0 , 0 , "rc2" }, defaultVersion {1 , 0 , 0 , "rc2" }, 0 },
113
+ }
114
+ for _ , tc := range test_cases {
115
+ assert .Equal (t , tc .compare < 0 , Less (tc .l , tc .r ), fmt .Sprintf ("Less(%v, %v) should be %v" , tc .l , tc .r , tc .compare < 0 ))
116
+ assert .Equal (t , tc .compare > 0 , Less (tc .r , tc .l ), fmt .Sprintf ("Less(%v, %v) should be %v" , tc .r , tc .l , tc .compare > 0 ))
94
117
}
95
118
}
0 commit comments