Skip to content

Commit 404159f

Browse files
authored
Merge pull request #1566 from stretchr/assert-deprecate-CompareType
assert: deprecate CompareType
2 parents 3c302f7 + a155d2a commit 404159f

File tree

3 files changed

+43
-40
lines changed

3 files changed

+43
-40
lines changed

‎assert/assertion_compare.go

Lines changed: 15 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -7,10 +7,13 @@ import (
77
"time"
88
)
99

10-
type CompareType int
10+
// Deprecated: CompareType has only ever been for internal use and has accidently been published since v1.6.0. Do not use it.
11+
type CompareType = compareResult
12+
13+
type compareResult int
1114

1215
const (
13-
compareLess CompareType = iota - 1
16+
compareLess compareResult = iota - 1
1417
compareEqual
1518
compareGreater
1619
)
@@ -39,7 +42,7 @@ var (
3942
bytesType = reflect.TypeOf([]byte{})
4043
)
4144

42-
func compare(obj1, obj2 interface{}, kind reflect.Kind) (CompareType, bool) {
45+
func compare(obj1, obj2 interface{}, kind reflect.Kind) (compareResult, bool) {
4346
obj1Value := reflect.ValueOf(obj1)
4447
obj2Value := reflect.ValueOf(obj2)
4548

@@ -345,7 +348,7 @@ func compare(obj1, obj2 interface{}, kind reflect.Kind) (CompareType, bool) {
345348
bytesObj2 = obj2Value.Convert(bytesType).Interface().([]byte)
346349
}
347350

348-
return CompareType(bytes.Compare(bytesObj1, bytesObj2)), true
351+
return compareResult(bytes.Compare(bytesObj1, bytesObj2)), true
349352
}
350353
case reflect.Uintptr:
351354
{
@@ -381,7 +384,7 @@ func Greater(t TestingT, e1 interface{}, e2 interface{}, msgAndArgs ...interface
381384
if h, ok := t.(tHelper); ok {
382385
h.Helper()
383386
}
384-
return compareTwoValues(t, e1, e2, []CompareType{compareGreater}, "\"%v\" is not greater than \"%v\"", msgAndArgs...)
387+
return compareTwoValues(t, e1, e2, []compareResult{compareGreater}, "\"%v\" is not greater than \"%v\"", msgAndArgs...)
385388
}
386389

387390
// GreaterOrEqual asserts that the first element is greater than or equal to the second
@@ -394,7 +397,7 @@ func GreaterOrEqual(t TestingT, e1 interface{}, e2 interface{}, msgAndArgs ...in
394397
if h, ok := t.(tHelper); ok {
395398
h.Helper()
396399
}
397-
return compareTwoValues(t, e1, e2, []CompareType{compareGreater, compareEqual}, "\"%v\" is not greater than or equal to \"%v\"", msgAndArgs...)
400+
return compareTwoValues(t, e1, e2, []compareResult{compareGreater, compareEqual}, "\"%v\" is not greater than or equal to \"%v\"", msgAndArgs...)
398401
}
399402

400403
// Less asserts that the first element is less than the second
@@ -406,7 +409,7 @@ func Less(t TestingT, e1 interface{}, e2 interface{}, msgAndArgs ...interface{})
406409
if h, ok := t.(tHelper); ok {
407410
h.Helper()
408411
}
409-
return compareTwoValues(t, e1, e2, []CompareType{compareLess}, "\"%v\" is not less than \"%v\"", msgAndArgs...)
412+
return compareTwoValues(t, e1, e2, []compareResult{compareLess}, "\"%v\" is not less than \"%v\"", msgAndArgs...)
410413
}
411414

412415
// LessOrEqual asserts that the first element is less than or equal to the second
@@ -419,7 +422,7 @@ func LessOrEqual(t TestingT, e1 interface{}, e2 interface{}, msgAndArgs ...inter
419422
if h, ok := t.(tHelper); ok {
420423
h.Helper()
421424
}
422-
return compareTwoValues(t, e1, e2, []CompareType{compareLess, compareEqual}, "\"%v\" is not less than or equal to \"%v\"", msgAndArgs...)
425+
return compareTwoValues(t, e1, e2, []compareResult{compareLess, compareEqual}, "\"%v\" is not less than or equal to \"%v\"", msgAndArgs...)
423426
}
424427

425428
// Positive asserts that the specified element is positive
@@ -431,7 +434,7 @@ func Positive(t TestingT, e interface{}, msgAndArgs ...interface{}) bool {
431434
h.Helper()
432435
}
433436
zero := reflect.Zero(reflect.TypeOf(e))
434-
return compareTwoValues(t, e, zero.Interface(), []CompareType{compareGreater}, "\"%v\" is not positive", msgAndArgs...)
437+
return compareTwoValues(t, e, zero.Interface(), []compareResult{compareGreater}, "\"%v\" is not positive", msgAndArgs...)
435438
}
436439

437440
// Negative asserts that the specified element is negative
@@ -443,10 +446,10 @@ func Negative(t TestingT, e interface{}, msgAndArgs ...interface{}) bool {
443446
h.Helper()
444447
}
445448
zero := reflect.Zero(reflect.TypeOf(e))
446-
return compareTwoValues(t, e, zero.Interface(), []CompareType{compareLess}, "\"%v\" is not negative", msgAndArgs...)
449+
return compareTwoValues(t, e, zero.Interface(), []compareResult{compareLess}, "\"%v\" is not negative", msgAndArgs...)
447450
}
448451

449-
func compareTwoValues(t TestingT, e1 interface{}, e2 interface{}, allowedComparesResults []CompareType, failMessage string, msgAndArgs ...interface{}) bool {
452+
func compareTwoValues(t TestingT, e1 interface{}, e2 interface{}, allowedComparesResults []compareResult, failMessage string, msgAndArgs ...interface{}) bool {
450453
if h, ok := t.(tHelper); ok {
451454
h.Helper()
452455
}
@@ -469,7 +472,7 @@ func compareTwoValues(t TestingT, e1 interface{}, e2 interface{}, allowedCompare
469472
return true
470473
}
471474

472-
func containsValue(values []CompareType, value CompareType) bool {
475+
func containsValue(values []compareResult, value compareResult) bool {
473476
for _, v := range values {
474477
if v == value {
475478
return true

‎assert/assertion_compare_test.go

Lines changed: 23 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -392,8 +392,8 @@ func Test_compareTwoValuesDifferentValuesTypes(t *testing.T) {
392392
{v1: float64(12), v2: "123"},
393393
{v1: "float(12)", v2: float64(1)},
394394
} {
395-
compareResult := compareTwoValues(mockT, currCase.v1, currCase.v2, []CompareType{compareLess, compareEqual, compareGreater}, "testFailMessage")
396-
False(t, compareResult)
395+
result := compareTwoValues(mockT, currCase.v1, currCase.v2, []compareResult{compareLess, compareEqual, compareGreater}, "testFailMessage")
396+
False(t, result)
397397
}
398398
}
399399

@@ -411,44 +411,44 @@ func Test_compareTwoValuesNotComparableValues(t *testing.T) {
411411
{v1: map[string]int{}, v2: map[string]int{}},
412412
{v1: make([]int, 5), v2: make([]int, 5)},
413413
} {
414-
compareResult := compareTwoValues(mockT, currCase.v1, currCase.v2, []CompareType{compareLess, compareEqual, compareGreater}, "testFailMessage")
415-
False(t, compareResult)
414+
result := compareTwoValues(mockT, currCase.v1, currCase.v2, []compareResult{compareLess, compareEqual, compareGreater}, "testFailMessage")
415+
False(t, result)
416416
}
417417
}
418418

419419
func Test_compareTwoValuesCorrectCompareResult(t *testing.T) {
420420
mockT := new(testing.T)
421421

422422
for _, currCase := range []struct {
423-
v1 interface{}
424-
v2 interface{}
425-
compareTypes []CompareType
423+
v1 interface{}
424+
v2 interface{}
425+
allowedResults []compareResult
426426
}{
427-
{v1: 1, v2: 2, compareTypes: []CompareType{compareLess}},
428-
{v1: 1, v2: 2, compareTypes: []CompareType{compareLess, compareEqual}},
429-
{v1: 2, v2: 2, compareTypes: []CompareType{compareGreater, compareEqual}},
430-
{v1: 2, v2: 2, compareTypes: []CompareType{compareEqual}},
431-
{v1: 2, v2: 1, compareTypes: []CompareType{compareEqual, compareGreater}},
432-
{v1: 2, v2: 1, compareTypes: []CompareType{compareGreater}},
427+
{v1: 1, v2: 2, allowedResults: []compareResult{compareLess}},
428+
{v1: 1, v2: 2, allowedResults: []compareResult{compareLess, compareEqual}},
429+
{v1: 2, v2: 2, allowedResults: []compareResult{compareGreater, compareEqual}},
430+
{v1: 2, v2: 2, allowedResults: []compareResult{compareEqual}},
431+
{v1: 2, v2: 1, allowedResults: []compareResult{compareEqual, compareGreater}},
432+
{v1: 2, v2: 1, allowedResults: []compareResult{compareGreater}},
433433
} {
434-
compareResult := compareTwoValues(mockT, currCase.v1, currCase.v2, currCase.compareTypes, "testFailMessage")
435-
True(t, compareResult)
434+
result := compareTwoValues(mockT, currCase.v1, currCase.v2, currCase.allowedResults, "testFailMessage")
435+
True(t, result)
436436
}
437437
}
438438

439439
func Test_containsValue(t *testing.T) {
440440
for _, currCase := range []struct {
441-
values []CompareType
442-
value CompareType
441+
values []compareResult
442+
value compareResult
443443
result bool
444444
}{
445-
{values: []CompareType{compareGreater}, value: compareGreater, result: true},
446-
{values: []CompareType{compareGreater, compareLess}, value: compareGreater, result: true},
447-
{values: []CompareType{compareGreater, compareLess}, value: compareLess, result: true},
448-
{values: []CompareType{compareGreater, compareLess}, value: compareEqual, result: false},
445+
{values: []compareResult{compareGreater}, value: compareGreater, result: true},
446+
{values: []compareResult{compareGreater, compareLess}, value: compareGreater, result: true},
447+
{values: []compareResult{compareGreater, compareLess}, value: compareLess, result: true},
448+
{values: []compareResult{compareGreater, compareLess}, value: compareEqual, result: false},
449449
} {
450-
compareResult := containsValue(currCase.values, currCase.value)
451-
Equal(t, currCase.result, compareResult)
450+
result := containsValue(currCase.values, currCase.value)
451+
Equal(t, currCase.result, result)
452452
}
453453
}
454454

‎assert/assertion_order.go

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ import (
66
)
77

88
// isOrdered checks that collection contains orderable elements.
9-
func isOrdered(t TestingT, object interface{}, allowedComparesResults []CompareType, failMessage string, msgAndArgs ...interface{}) bool {
9+
func isOrdered(t TestingT, object interface{}, allowedComparesResults []compareResult, failMessage string, msgAndArgs ...interface{}) bool {
1010
objKind := reflect.TypeOf(object).Kind()
1111
if objKind != reflect.Slice && objKind != reflect.Array {
1212
return false
@@ -50,7 +50,7 @@ func isOrdered(t TestingT, object interface{}, allowedComparesResults []CompareT
5050
// assert.IsIncreasing(t, []float{1, 2})
5151
// assert.IsIncreasing(t, []string{"a", "b"})
5252
func IsIncreasing(t TestingT, object interface{}, msgAndArgs ...interface{}) bool {
53-
return isOrdered(t, object, []CompareType{compareLess}, "\"%v\" is not less than \"%v\"", msgAndArgs...)
53+
return isOrdered(t, object, []compareResult{compareLess}, "\"%v\" is not less than \"%v\"", msgAndArgs...)
5454
}
5555

5656
// IsNonIncreasing asserts that the collection is not increasing
@@ -59,7 +59,7 @@ func IsIncreasing(t TestingT, object interface{}, msgAndArgs ...interface{}) boo
5959
// assert.IsNonIncreasing(t, []float{2, 1})
6060
// assert.IsNonIncreasing(t, []string{"b", "a"})
6161
func IsNonIncreasing(t TestingT, object interface{}, msgAndArgs ...interface{}) bool {
62-
return isOrdered(t, object, []CompareType{compareEqual, compareGreater}, "\"%v\" is not greater than or equal to \"%v\"", msgAndArgs...)
62+
return isOrdered(t, object, []compareResult{compareEqual, compareGreater}, "\"%v\" is not greater than or equal to \"%v\"", msgAndArgs...)
6363
}
6464

6565
// IsDecreasing asserts that the collection is decreasing
@@ -68,7 +68,7 @@ func IsNonIncreasing(t TestingT, object interface{}, msgAndArgs ...interface{})
6868
// assert.IsDecreasing(t, []float{2, 1})
6969
// assert.IsDecreasing(t, []string{"b", "a"})
7070
func IsDecreasing(t TestingT, object interface{}, msgAndArgs ...interface{}) bool {
71-
return isOrdered(t, object, []CompareType{compareGreater}, "\"%v\" is not greater than \"%v\"", msgAndArgs...)
71+
return isOrdered(t, object, []compareResult{compareGreater}, "\"%v\" is not greater than \"%v\"", msgAndArgs...)
7272
}
7373

7474
// IsNonDecreasing asserts that the collection is not decreasing
@@ -77,5 +77,5 @@ func IsDecreasing(t TestingT, object interface{}, msgAndArgs ...interface{}) boo
7777
// assert.IsNonDecreasing(t, []float{1, 2})
7878
// assert.IsNonDecreasing(t, []string{"a", "b"})
7979
func IsNonDecreasing(t TestingT, object interface{}, msgAndArgs ...interface{}) bool {
80-
return isOrdered(t, object, []CompareType{compareLess, compareEqual}, "\"%v\" is not less than or equal to \"%v\"", msgAndArgs...)
80+
return isOrdered(t, object, []compareResult{compareLess, compareEqual}, "\"%v\" is not less than or equal to \"%v\"", msgAndArgs...)
8181
}

0 commit comments

Comments
 (0)