change: add unittest for EqualLength

This commit is contained in:
debugtalk
2021-10-04 18:35:25 +08:00
parent 8f67916d35
commit 98d992de42
2 changed files with 23 additions and 0 deletions

View File

@@ -49,5 +49,8 @@ func EndsWith(t assert.TestingT, expected, actual interface{}, msgAndArgs ...int
}
func EqualLength(t assert.TestingT, expected, actual interface{}, msgAndArgs ...interface{}) bool {
if !assert.IsType(t, 129, expected, fmt.Sprintf("expected type is not int, got %#v", expected)) {
return false
}
return assert.Len(t, actual, expected.(int), msgAndArgs...)
}

View File

@@ -41,3 +41,23 @@ func TestEndsWith(t *testing.T) {
}
}
}
func TestEqualLength(t *testing.T) {
testData := []struct {
raw interface{}
expected int
}{
{"", 0},
{[]string{}, 0},
{map[string]interface{}{}, 0},
{"a", 1},
{[]string{"a"}, 1},
{map[string]interface{}{"a": 123}, 1},
}
for _, data := range testData {
if !assert.True(t, EqualLength(t, data.expected, data.raw)) {
t.Fail()
}
}
}