@@ -76,19 +76,19 @@ type compareTestCase struct {
76
76
expected int
77
77
}
78
78
79
- func testCompareValues (t * testing.T , cmp * comparator , name string , tests []compareTestCase ) {
79
+ func testCompareValues (t * testing.T , cmp issueComparator , name string , tests []compareTestCase ) {
80
80
t .Parallel ()
81
81
82
82
for i , test := range tests { //nolint:gocritic // To ignore rangeValCopy rule
83
83
t .Run (fmt .Sprintf ("%s(%d)" , name , i ), func (t * testing.T ) {
84
- res := cmp . Compare (& test .a , & test .b )
84
+ res := cmp (& test .a , & test .b )
85
85
assert .Equal (t , compToString (test .expected ), compToString (res ))
86
86
})
87
87
}
88
88
}
89
89
90
- func TestCompareByLine (t * testing.T ) {
91
- testCompareValues (t , byLine () , "Compare By Line" , []compareTestCase {
90
+ func Test_byLine (t * testing.T ) {
91
+ testCompareValues (t , byLine , "Compare By Line" , []compareTestCase {
92
92
{issues [0 ], issues [1 ], less }, // 10 vs 11
93
93
{issues [0 ], issues [0 ], equal }, // 10 vs 10
94
94
{issues [3 ], issues [3 ], equal }, // 10 vs 10
@@ -103,8 +103,8 @@ func TestCompareByLine(t *testing.T) {
103
103
})
104
104
}
105
105
106
- func TestCompareByFileName (t * testing.T ) {
107
- testCompareValues (t , byFileName () , "Compare By File Name" , []compareTestCase {
106
+ func Test_byFileName (t * testing.T ) {
107
+ testCompareValues (t , byFileName , "Compare By File Name" , []compareTestCase {
108
108
{issues [0 ], issues [1 ], greater }, // file_windows.go vs file_linux.go
109
109
{issues [1 ], issues [2 ], greater }, // file_linux.go vs file_darwin.go
110
110
{issues [2 ], issues [3 ], equal }, // file_darwin.go vs file_darwin.go
@@ -118,8 +118,8 @@ func TestCompareByFileName(t *testing.T) {
118
118
})
119
119
}
120
120
121
- func TestCompareByColumn (t * testing.T ) {
122
- testCompareValues (t , byColumn () , "Compare By Column" , []compareTestCase {
121
+ func Test_byColumn (t * testing.T ) {
122
+ testCompareValues (t , byColumn , "Compare By Column" , []compareTestCase {
123
123
{issues [0 ], issues [1 ], greater }, // 80 vs 70
124
124
{issues [1 ], issues [2 ], equal }, // 70 vs zero value
125
125
{issues [3 ], issues [3 ], equal }, // 60 vs 60
@@ -133,8 +133,8 @@ func TestCompareByColumn(t *testing.T) {
133
133
})
134
134
}
135
135
136
- func TestCompareByLinter (t * testing.T ) {
137
- testCompareValues (t , byLinter () , "Compare By Linter" , []compareTestCase {
136
+ func Test_byLinter (t * testing.T ) {
137
+ testCompareValues (t , byLinter , "Compare By Linter" , []compareTestCase {
138
138
{issues [0 ], issues [1 ], greater }, // b vs a
139
139
{issues [1 ], issues [2 ], less }, // a vs c
140
140
{issues [2 ], issues [3 ], equal }, // c vs c
@@ -148,8 +148,8 @@ func TestCompareByLinter(t *testing.T) {
148
148
})
149
149
}
150
150
151
- func TestCompareBySeverity (t * testing.T ) {
152
- testCompareValues (t , bySeverity () , "Compare By Severity" , []compareTestCase {
151
+ func Test_bySeverity (t * testing.T ) {
152
+ testCompareValues (t , bySeverity , "Compare By Severity" , []compareTestCase {
153
153
{issues [0 ], issues [1 ], greater }, // medium vs low
154
154
{issues [1 ], issues [2 ], less }, // low vs high
155
155
{issues [2 ], issues [3 ], equal }, // high vs high
@@ -165,24 +165,24 @@ func TestCompareBySeverity(t *testing.T) {
165
165
})
166
166
}
167
167
168
- func TestCompareNested (t * testing.T ) {
169
- cmp := byFileName (). SetNext ( byLine (). SetNext ( byColumn ()))
170
-
171
- testCompareValues ( t , cmp , "Nested Comparing" , [] compareTestCase {
172
- {issues [1 ], issues [0 ], less }, // file_linux .go vs file_windows .go
173
- {issues [2 ], issues [1 ], less }, // file_darwin .go vs file_linux.go
174
- {issues [0 ], issues [1 ], greater }, // file_windows .go vs file_linux .go
175
- {issues [1 ], issues [2 ], greater }, // file_linux .go vs file_darwin.go
176
- {issues [3 ], issues [2 ], less }, // file_darwin .go vs file_darwin .go, 10 vs 12
177
- {issues [0 ], issues [0 ], equal }, // file_windows .go vs file_windows .go
178
- {issues [2 ], issues [3 ], greater }, // file_darwin .go vs file_darwin .go, 12 vs 10
179
- {issues [1 ], issues [1 ], equal }, // file_linux .go vs file_linux .go
180
- {issues [2 ], issues [2 ], equal }, // file_darwin.go vs file_darwin.go
181
- { issues [ 3 ], issues [ 3 ], equal }, // file_darwin.go vs file_darwin.go
182
- } )
168
+ func Test_mergeIssueComparators (t * testing.T ) {
169
+ testCompareValues ( t , mergeIssueComparators ( byFileName , byLine , byColumn ), "Nested Comparing" ,
170
+ [] compareTestCase {
171
+ { issues [ 1 ], issues [ 0 ], less }, // file_linux.go vs file_windows.go
172
+ {issues [2 ], issues [1 ], less }, // file_darwin .go vs file_linux .go
173
+ {issues [0 ], issues [1 ], greater }, // file_windows .go vs file_linux.go
174
+ {issues [1 ], issues [2 ], greater }, // file_linux .go vs file_darwin .go
175
+ {issues [3 ], issues [2 ], less }, // file_darwin .go vs file_darwin.go, 10 vs 12
176
+ {issues [0 ], issues [0 ], equal }, // file_windows .go vs file_windows .go
177
+ {issues [2 ], issues [3 ], greater }, // file_darwin .go vs file_darwin .go, 12 vs 10
178
+ {issues [1 ], issues [1 ], equal }, // file_linux .go vs file_linux .go
179
+ {issues [2 ], issues [2 ], equal }, // file_darwin .go vs file_darwin .go
180
+ {issues [3 ], issues [3 ], equal }, // file_darwin.go vs file_darwin.go
181
+ },
182
+ )
183
183
}
184
184
185
- func TestNumericCompare (t * testing.T ) {
185
+ func Test_numericCompare (t * testing.T ) {
186
186
tests := []struct {
187
187
a , b int
188
188
expected int
@@ -231,56 +231,6 @@ func TestSorting(t *testing.T) {
231
231
assert .Equal (t , []result.Issue {issues [3 ], issues [2 ], issues [1 ], issues [0 ]}, results )
232
232
}
233
233
234
- func Test_mergeComparators (t * testing.T ) {
235
- testCases := []struct {
236
- desc string
237
- cmps []* comparator
238
- expected string
239
- }{
240
- {
241
- desc : "one" ,
242
- cmps : []* comparator {byLinter ()},
243
- expected : "byLinter" ,
244
- },
245
- {
246
- desc : "two" ,
247
- cmps : []* comparator {byLinter (), byFileName ()},
248
- expected : "byLinter > byFileName" ,
249
- },
250
- {
251
- desc : "all" ,
252
- cmps : []* comparator {bySeverity (), byLinter (), byFileName (), byLine (), byColumn ()},
253
- expected : "bySeverity > byLinter > byFileName > byLine > byColumn" ,
254
- },
255
- {
256
- desc : "nested" ,
257
- cmps : []* comparator {bySeverity (), byFileName ().SetNext (byLine ().SetNext (byColumn ())), byLinter ()},
258
- expected : "bySeverity > byFileName > byLine > byColumn > byLinter" ,
259
- },
260
- {
261
- desc : "all reverse" ,
262
- cmps : []* comparator {byColumn (), byLine (), byFileName (), byLinter (), bySeverity ()},
263
- expected : "byColumn > byLine > byFileName > byLinter > bySeverity" ,
264
- },
265
- }
266
-
267
- for _ , test := range testCases {
268
- t .Run (test .desc , func (t * testing.T ) {
269
- t .Parallel ()
270
-
271
- cmp , err := mergeComparators (test .cmps )
272
- require .NoError (t , err )
273
-
274
- assert .Equal (t , test .expected , cmp .String ())
275
- })
276
- }
277
- }
278
-
279
- func Test_mergeComparators_error (t * testing.T ) {
280
- _ , err := mergeComparators (nil )
281
- require .EqualError (t , err , "no comparator" )
282
- }
283
-
284
234
func compToString (c int ) string {
285
235
switch c {
286
236
case less :
0 commit comments