diff --git a/bool_test.go b/bool_test.go index c243e21..6338b31 100644 --- a/bool_test.go +++ b/bool_test.go @@ -5,7 +5,6 @@ import ( "testing" "github.com/shockerli/cvt" - "github.com/stretchr/testify/assert" ) func TestBool_HasDefault(t *testing.T) { @@ -82,7 +81,7 @@ func TestBool_HasDefault(t *testing.T) { msg := fmt.Sprintf("i = %d, input[%+v], def[%+v], expect[%+v]", i, tt.input, tt.def, tt.expect) v := cvt.Bool(tt.input, tt.def) - assert.Equal(t, tt.expect, v, msg) + assertEqual(t, tt.expect, v, "[NonE] "+msg) } } @@ -107,7 +106,7 @@ func TestBool_BaseLine(t *testing.T) { msg := fmt.Sprintf("i = %d, input[%+v], expect[%+v]", i, tt.input, tt.expect) v := cvt.Bool(tt.input) - assert.Equal(t, tt.expect, v, msg) + assertEqual(t, tt.expect, v, "[NonE] "+msg) } } @@ -195,15 +194,15 @@ func TestBoolE(t *testing.T) { v, err := cvt.BoolE(tt.input) if tt.isErr { - assert.Error(t, err, msg) + assertError(t, err, "[HasErr] "+msg) continue } - assert.NoError(t, err, msg) - assert.Equal(t, tt.expect, v, msg) + assertNoError(t, err, "[NoErr] "+msg) + assertEqual(t, tt.expect, v, "[WithE] "+msg) - // Non-E test with no default value: + // Non-E test v = cvt.Bool(tt.input) - assert.Equal(t, tt.expect, v, msg) + assertEqual(t, tt.expect, v, "[NonE] "+msg) } } diff --git a/cvte_test.go b/cvte_test.go index 52c48d3..693651e 100644 --- a/cvte_test.go +++ b/cvte_test.go @@ -1,12 +1,14 @@ package cvt_test import ( + "bytes" + "errors" "fmt" + "reflect" + "strings" "testing" "time" - "github.com/stretchr/testify/assert" - "github.com/shockerli/cvt" ) @@ -139,11 +141,119 @@ func TestFieldE(t *testing.T) { v, err := cvt.FieldE(tt.input, tt.field) if tt.isErr { - assert.Error(t, err, msg) + assertError(t, err, "[HasErr] "+msg) continue } - assert.NoError(t, err, msg) - assert.Equal(t, tt.expect, v, msg) + assertNoError(t, err, "[NoErr] "+msg) + assertEqual(t, tt.expect, v, "[WithE] "+msg) + } +} + +//////////////////////////////////////////////////////////////////////////////// + +// [testing assert functions] + +// assert error +func assertError(t *testing.T, err error, msgAndArgs ...interface{}) { + if err == nil { + fail(t, "An error is expected but got nil", msgAndArgs...) + return + } + return +} + +// assert no error +func assertNoError(t *testing.T, err error, msgAndArgs ...interface{}) { + if err != nil { + fail(t, fmt.Sprintf("Received unexpected error:\n\t\t\t\t%+v", err), msgAndArgs...) + return + } + return +} + +// assert equal +func assertEqual(t *testing.T, expected, actual interface{}, msgAndArgs ...interface{}) { + if err := validateEqualArgs(expected, actual); err != nil { + fail(t, fmt.Sprintf("Invalid operation: %#v == %#v (%s)", + expected, actual, err), msgAndArgs...) + return + } + + if !objectsAreEqual(expected, actual) { + fail(t, fmt.Sprintf("Not equal: \n"+ + "expected: %s\n"+ + "actual : %s", expected, actual), msgAndArgs...) + return + } + return +} + +func fail(t *testing.T, failureMessage string, msgAndArgs ...interface{}) { + t.Errorf(` +Error: %s +Test: %s +Messages: %s`, failureMessage, t.Name(), messageFromMsgAndArgs(msgAndArgs...)) +} + +func validateEqualArgs(expected, actual interface{}) error { + if expected == nil && actual == nil { + return nil + } + + if isFunction(expected) || isFunction(actual) { + return errors.New("cannot take func type as argument") + } + return nil +} + +func isFunction(arg interface{}) bool { + if arg == nil { + return false + } + return reflect.TypeOf(arg).Kind() == reflect.Func +} + +func objectsAreEqual(expected, actual interface{}) bool { + if expected == nil || actual == nil { + return expected == actual + } + + exp, ok := expected.([]byte) + if !ok { + return reflect.DeepEqual(expected, actual) + } + + act, ok := actual.([]byte) + if !ok { + return false + } + if exp == nil || act == nil { + return exp == nil && act == nil + } + return bytes.Equal(exp, act) +} + +func messageFromMsgAndArgs(msgAndArgs ...interface{}) string { + if len(msgAndArgs) == 0 || msgAndArgs == nil { + return "" + } + if len(msgAndArgs) == 1 { + msg := msgAndArgs[0] + if msgAsStr, ok := msg.(string); ok { + return msgAsStr + } + return fmt.Sprintf("%+v", msg) + } + if len(msgAndArgs) > 1 { + tpl, ok := msgAndArgs[0].(string) + if ok { + return fmt.Sprintf(tpl, msgAndArgs[1:]...) + } + for v := range msgAndArgs { + tpl += fmt.Sprintf("%+v, ", v) + } + return strings.TrimRight(tpl, ", ") } + return "" } diff --git a/float_test.go b/float_test.go index 7e65c1a..90c2095 100644 --- a/float_test.go +++ b/float_test.go @@ -6,7 +6,6 @@ import ( "testing" "github.com/shockerli/cvt" - "github.com/stretchr/testify/assert" ) func TestFloat64_HasDefault(t *testing.T) { @@ -76,7 +75,7 @@ func TestFloat64_HasDefault(t *testing.T) { msg := fmt.Sprintf("i = %d, input[%+v], def[%+v], expect[%+v]", i, tt.input, tt.def, tt.expect) v := cvt.Float64(tt.input, tt.def) - assert.Equal(t, tt.expect, v, msg) + assertEqual(t, tt.expect, v, "[NonE] "+msg) } } @@ -100,7 +99,7 @@ func TestFloat64_BaseLine(t *testing.T) { msg := fmt.Sprintf("i = %d, input[%+v], expect[%+v]", i, tt.input, tt.expect) v := cvt.Float64(tt.input) - assert.Equal(t, tt.expect, v, msg) + assertEqual(t, tt.expect, v, "[NonE] "+msg) } } @@ -170,7 +169,7 @@ func TestFloat32_HasDefault(t *testing.T) { msg := fmt.Sprintf("i = %d, input[%+v], def[%+v], expect[%+v]", i, tt.input, tt.def, tt.expect) v := cvt.Float32(tt.input, tt.def) - assert.Equal(t, tt.expect, v, msg) + assertEqual(t, tt.expect, v, "[NonE] "+msg) } } @@ -194,7 +193,7 @@ func TestFloat32_BaseLine(t *testing.T) { msg := fmt.Sprintf("i = %d, input[%+v], expect[%+v]", i, tt.input, tt.expect) v := cvt.Float32(tt.input) - assert.Equal(t, tt.expect, v, msg) + assertEqual(t, tt.expect, v, "[NonE] "+msg) } } @@ -275,16 +274,16 @@ func TestFloat64E(t *testing.T) { v, err := cvt.Float64E(tt.input) if tt.isErr { - assert.Error(t, err, msg) + assertError(t, err, "[HasErr] "+msg) continue } - assert.NoError(t, err, msg) - assert.Equal(t, tt.expect, v, msg) + assertNoError(t, err, "[NoErr] "+msg) + assertEqual(t, tt.expect, v, "[WithE] "+msg) - // Non-E test with no default value: + // Non-E test v = cvt.Float64(tt.input) - assert.Equal(t, tt.expect, v, msg) + assertEqual(t, tt.expect, v, "[NonE] "+msg) } } @@ -364,15 +363,15 @@ func TestFloat32E(t *testing.T) { v, err := cvt.Float32E(tt.input) if tt.isErr { - assert.Error(t, err, msg) + assertError(t, err, "[HasErr] "+msg) continue } - assert.NoError(t, err, msg) - assert.Equal(t, tt.expect, v, msg) + assertNoError(t, err, "[NoErr] "+msg) + assertEqual(t, tt.expect, v, "[WithE] "+msg) - // Non-E test with no default value: + // Non-E test v = cvt.Float32(tt.input) - assert.Equal(t, tt.expect, v, msg) + assertEqual(t, tt.expect, v, "[NonE] "+msg) } } diff --git a/go.mod b/go.mod index ee587f1..2bf9e94 100644 --- a/go.mod +++ b/go.mod @@ -1,5 +1,3 @@ module github.com/shockerli/cvt go 1.16 - -require github.com/stretchr/testify v1.7.0 diff --git a/go.sum b/go.sum index 26500d5..e69de29 100644 --- a/go.sum +++ b/go.sum @@ -1,12 +0,0 @@ -github.com/davecgh/go-spew v1.1.0 h1:ZDRjVQ15GmhC3fiQ8ni8+OwkZQO4DARzQgrnXU1Liz8= -github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= -github.com/pmezard/go-difflib v1.0.0 h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZbAQM= -github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4= -github.com/stretchr/objx v0.1.0 h1:4G4v2dO3VZwixGIRoQ5Lfboy6nUhCyYzaqnIAPPhYs4= -github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME= -github.com/stretchr/testify v1.7.0 h1:nwc3DEeHmmLAfoZucVR881uASk0Mfjw8xYJ99tb5CcY= -github.com/stretchr/testify v1.7.0/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg= -gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405 h1:yhCVgyC4o1eVCa2tZl7eS0r+SDo693bJlVdllGtEeKM= -gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= -gopkg.in/yaml.v3 v3.0.0-20200313102051-9f266ea9e77c h1:dUUwHk2QECo/6vqA44rthZ8ie2QXMNeKRTHCNY2nXvo= -gopkg.in/yaml.v3 v3.0.0-20200313102051-9f266ea9e77c/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= diff --git a/int_test.go b/int_test.go index 7225a8a..2c3f773 100644 --- a/int_test.go +++ b/int_test.go @@ -7,7 +7,6 @@ import ( "testing" "github.com/shockerli/cvt" - "github.com/stretchr/testify/assert" ) func TestUint64_HasDefault(t *testing.T) { @@ -75,7 +74,7 @@ func TestUint64_HasDefault(t *testing.T) { msg := fmt.Sprintf("i = %d, input[%+v], def[%+v], expect[%+v]", i, tt.input, tt.def, tt.expect) v := cvt.Uint64(tt.input, tt.def) - assert.Equal(t, tt.expect, v, msg) + assertEqual(t, tt.expect, v, "[NonE] "+msg) } } @@ -101,7 +100,7 @@ func TestUint64_BaseLine(t *testing.T) { msg := fmt.Sprintf("i = %d, input[%+v], expect[%+v]", i, tt.input, tt.expect) v := cvt.Uint64(tt.input) - assert.Equal(t, tt.expect, v, msg) + assertEqual(t, tt.expect, v, "[NonE] "+msg) } } @@ -170,7 +169,7 @@ func TestUint32_HasDefault(t *testing.T) { msg := fmt.Sprintf("i = %d, input[%+v], def[%+v], expect[%+v]", i, tt.input, tt.def, tt.expect) v := cvt.Uint32(tt.input, tt.def) - assert.Equal(t, tt.expect, v, msg) + assertEqual(t, tt.expect, v, "[NonE] "+msg) } } @@ -196,7 +195,7 @@ func TestUint32_BaseLine(t *testing.T) { msg := fmt.Sprintf("i = %d, input[%+v], expect[%+v]", i, tt.input, tt.expect) v := cvt.Uint32(tt.input) - assert.Equal(t, tt.expect, v, msg) + assertEqual(t, tt.expect, v, "[NonE] "+msg) } } @@ -265,7 +264,7 @@ func TestUint16_HasDefault(t *testing.T) { msg := fmt.Sprintf("i = %d, input[%+v], def[%+v], expect[%+v]", i, tt.input, tt.def, tt.expect) v := cvt.Uint16(tt.input, tt.def) - assert.Equal(t, tt.expect, v, msg) + assertEqual(t, tt.expect, v, "[NonE] "+msg) } } @@ -291,7 +290,7 @@ func TestUint16_BaseLine(t *testing.T) { msg := fmt.Sprintf("i = %d, input[%+v], expect[%+v]", i, tt.input, tt.expect) v := cvt.Uint16(tt.input) - assert.Equal(t, tt.expect, v, msg) + assertEqual(t, tt.expect, v, "[NonE] "+msg) } } @@ -360,7 +359,7 @@ func TestUint8_HasDefault(t *testing.T) { msg := fmt.Sprintf("i = %d, input[%+v], def[%+v], expect[%+v]", i, tt.input, tt.def, tt.expect) v := cvt.Uint8(tt.input, tt.def) - assert.Equal(t, tt.expect, v, msg) + assertEqual(t, tt.expect, v, "[NonE] "+msg) } } @@ -386,7 +385,7 @@ func TestUint8_BaseLine(t *testing.T) { msg := fmt.Sprintf("i = %d, input[%+v], expect[%+v]", i, tt.input, tt.expect) v := cvt.Uint8(tt.input) - assert.Equal(t, tt.expect, v, msg) + assertEqual(t, tt.expect, v, "[NonE] "+msg) } } @@ -455,7 +454,7 @@ func TestUint_HasDefault(t *testing.T) { msg := fmt.Sprintf("i = %d, input[%+v], def[%+v], expect[%+v]", i, tt.input, tt.def, tt.expect) v := cvt.Uint(tt.input, tt.def) - assert.Equal(t, tt.expect, v, msg) + assertEqual(t, tt.expect, v, "[NonE] "+msg) } } @@ -481,7 +480,7 @@ func TestUint_BaseLine(t *testing.T) { msg := fmt.Sprintf("i = %d, input[%+v], expect[%+v]", i, tt.input, tt.expect) v := cvt.Uint(tt.input) - assert.Equal(t, tt.expect, v, msg) + assertEqual(t, tt.expect, v, "[NonE] "+msg) } } @@ -550,7 +549,7 @@ func TestInt64_HasDefault(t *testing.T) { msg := fmt.Sprintf("i = %d, input[%+v], def[%+v], expect[%+v]", i, tt.input, tt.def, tt.expect) v := cvt.Int64(tt.input, tt.def) - assert.Equal(t, tt.expect, v, msg) + assertEqual(t, tt.expect, v, "[NonE] "+msg) } } @@ -574,7 +573,7 @@ func TestInt64_BaseLine(t *testing.T) { msg := fmt.Sprintf("i = %d, input[%+v], expect[%+v]", i, tt.input, tt.expect) v := cvt.Int64(tt.input) - assert.Equal(t, tt.expect, v, msg) + assertEqual(t, tt.expect, v, "[NonE] "+msg) } } @@ -643,7 +642,7 @@ func TestInt32_HasDefault(t *testing.T) { msg := fmt.Sprintf("i = %d, input[%+v], def[%+v], expect[%+v]", i, tt.input, tt.def, tt.expect) v := cvt.Int32(tt.input, tt.def) - assert.Equal(t, tt.expect, v, msg) + assertEqual(t, tt.expect, v, "[NonE] "+msg) } } @@ -667,7 +666,7 @@ func TestInt32_BaseLine(t *testing.T) { msg := fmt.Sprintf("i = %d, input[%+v], expect[%+v]", i, tt.input, tt.expect) v := cvt.Int32(tt.input) - assert.Equal(t, tt.expect, v, msg) + assertEqual(t, tt.expect, v, "[NonE] "+msg) } } @@ -736,7 +735,7 @@ func TestInt16_HasDefault(t *testing.T) { msg := fmt.Sprintf("i = %d, input[%+v], def[%+v], expect[%+v]", i, tt.input, tt.def, tt.expect) v := cvt.Int16(tt.input, tt.def) - assert.Equal(t, tt.expect, v, msg) + assertEqual(t, tt.expect, v, "[NonE] "+msg) } } @@ -760,7 +759,7 @@ func TestInt16_BaseLine(t *testing.T) { msg := fmt.Sprintf("i = %d, input[%+v], expect[%+v]", i, tt.input, tt.expect) v := cvt.Int16(tt.input) - assert.Equal(t, tt.expect, v, msg) + assertEqual(t, tt.expect, v, "[NonE] "+msg) } } @@ -829,7 +828,7 @@ func TestInt8_HasDefault(t *testing.T) { msg := fmt.Sprintf("i = %d, input[%+v], def[%+v], expect[%+v]", i, tt.input, tt.def, tt.expect) v := cvt.Int8(tt.input, tt.def) - assert.Equal(t, tt.expect, v, msg) + assertEqual(t, tt.expect, v, "[NonE] "+msg) } } @@ -853,7 +852,7 @@ func TestInt8_BaseLine(t *testing.T) { msg := fmt.Sprintf("i = %d, input[%+v], expect[%+v]", i, tt.input, tt.expect) v := cvt.Int8(tt.input) - assert.Equal(t, tt.expect, v, msg) + assertEqual(t, tt.expect, v, "[NonE] "+msg) } } @@ -922,7 +921,7 @@ func TestInt_HasDefault(t *testing.T) { msg := fmt.Sprintf("i = %d, input[%+v], def[%+v], expect[%+v]", i, tt.input, tt.def, tt.expect) v := cvt.Int(tt.input, tt.def) - assert.Equal(t, tt.expect, v, msg) + assertEqual(t, tt.expect, v, "[NonE] "+msg) } } @@ -946,7 +945,7 @@ func TestInt_BaseLine(t *testing.T) { msg := fmt.Sprintf("i = %d, input[%+v], expect[%+v]", i, tt.input, tt.expect) v := cvt.Int(tt.input) - assert.Equal(t, tt.expect, v, msg) + assertEqual(t, tt.expect, v, "[NonE] "+msg) } } @@ -1060,16 +1059,16 @@ func TestUint64E(t *testing.T) { v, err := cvt.Uint64E(tt.input) if tt.isErr { - assert.Error(t, err, msg) + assertError(t, err, "[HasErr] "+msg) continue } - assert.NoError(t, err, msg) - assert.Equal(t, tt.expect, v, msg) + assertNoError(t, err, "[NoErr] "+msg) + assertEqual(t, tt.expect, v, "[WithE] "+msg) - // Non-E test with no default value: + // Non-E test v = cvt.Uint64(tt.input) - assert.Equal(t, tt.expect, v, msg) + assertEqual(t, tt.expect, v, "[NonE] "+msg) } } @@ -1176,16 +1175,16 @@ func TestUint32E(t *testing.T) { v, err := cvt.Uint32E(tt.input) if tt.isErr { - assert.Error(t, err, msg) + assertError(t, err, "[HasErr] "+msg) continue } - assert.NoError(t, err, msg) - assert.Equal(t, tt.expect, v, msg) + assertNoError(t, err, "[NoErr] "+msg) + assertEqual(t, tt.expect, v, "[WithE] "+msg) - // Non-E test with no default value: + // Non-E test v = cvt.Uint32(tt.input) - assert.Equal(t, tt.expect, v, msg) + assertEqual(t, tt.expect, v, "[NonE] "+msg) } } @@ -1292,16 +1291,16 @@ func TestUint16E(t *testing.T) { v, err := cvt.Uint16E(tt.input) if tt.isErr { - assert.Error(t, err, msg) + assertError(t, err, "[HasErr] "+msg) continue } - assert.NoError(t, err, msg) - assert.Equal(t, tt.expect, v, msg) + assertNoError(t, err, "[NoErr] "+msg) + assertEqual(t, tt.expect, v, "[WithE] "+msg) - // Non-E test with no default value: + // Non-E test v = cvt.Uint16(tt.input) - assert.Equal(t, tt.expect, v, msg) + assertEqual(t, tt.expect, v, "[NonE] "+msg) } } @@ -1408,16 +1407,16 @@ func TestUint8E(t *testing.T) { v, err := cvt.Uint8E(tt.input) if tt.isErr { - assert.Error(t, err, msg) + assertError(t, err, "[HasErr] "+msg) continue } - assert.NoError(t, err, msg) - assert.Equal(t, tt.expect, v, msg) + assertNoError(t, err, "[NoErr] "+msg) + assertEqual(t, tt.expect, v, "[WithE] "+msg) - // Non-E test with no default value: + // Non-E test v = cvt.Uint8(tt.input) - assert.Equal(t, tt.expect, v, msg) + assertEqual(t, tt.expect, v, "[NonE] "+msg) } } @@ -1521,16 +1520,16 @@ func TestUintE(t *testing.T) { v, err := cvt.UintE(tt.input) if tt.isErr { - assert.Error(t, err, msg) + assertError(t, err, "[HasErr] "+msg) continue } - assert.NoError(t, err, msg) - assert.Equal(t, tt.expect, v, msg) + assertNoError(t, err, "[NoErr] "+msg) + assertEqual(t, tt.expect, v, "[WithE] "+msg) - // Non-E test with no default value: + // Non-E test v = cvt.Uint(tt.input) - assert.Equal(t, tt.expect, v, msg) + assertEqual(t, tt.expect, v, "[NonE] "+msg) } } @@ -1639,16 +1638,16 @@ func TestInt64E(t *testing.T) { v, err := cvt.Int64E(tt.input) if tt.isErr { - assert.Error(t, err, msg) + assertError(t, err, "[HasErr] "+msg) continue } - assert.NoError(t, err, msg) - assert.Equal(t, tt.expect, v, msg) + assertNoError(t, err, "[NoErr] "+msg) + assertEqual(t, tt.expect, v, "[WithE] "+msg) - // Non-E test with no default value: + // Non-E test v = cvt.Int64(tt.input) - assert.Equal(t, tt.expect, v, msg) + assertEqual(t, tt.expect, v, "[NonE] "+msg) } } @@ -1758,16 +1757,16 @@ func TestInt32E(t *testing.T) { v, err := cvt.Int32E(tt.input) if tt.isErr { - assert.Error(t, err, msg) + assertError(t, err, "[HasErr] "+msg) continue } - assert.NoError(t, err, msg) - assert.Equal(t, tt.expect, v, msg) + assertNoError(t, err, "[NoErr] "+msg) + assertEqual(t, tt.expect, v, "[WithE] "+msg) - // Non-E test with no default value: + // Non-E test v = cvt.Int32(tt.input) - assert.Equal(t, tt.expect, v, msg) + assertEqual(t, tt.expect, v, "[NonE] "+msg) } } @@ -1879,16 +1878,16 @@ func TestInt16E(t *testing.T) { v, err := cvt.Int16E(tt.input) if tt.isErr { - assert.Error(t, err, msg) + assertError(t, err, "[HasErr] "+msg) continue } - assert.NoError(t, err, msg) - assert.Equal(t, tt.expect, v, msg) + assertNoError(t, err, "[NoErr] "+msg) + assertEqual(t, tt.expect, v, "[WithE] "+msg) - // Non-E test with no default value: + // Non-E test v = cvt.Int16(tt.input) - assert.Equal(t, tt.expect, v, msg) + assertEqual(t, tt.expect, v, "[NonE] "+msg) } } @@ -2001,16 +2000,16 @@ func TestInt8E(t *testing.T) { v, err := cvt.Int8E(tt.input) if tt.isErr { - assert.Error(t, err, msg) + assertError(t, err, "[HasErr] "+msg) continue } - assert.NoError(t, err, msg) - assert.Equal(t, tt.expect, v, msg) + assertNoError(t, err, "[NoErr] "+msg) + assertEqual(t, tt.expect, v, "[WithE] "+msg) - // Non-E test with no default value: + // Non-E test v = cvt.Int8(tt.input) - assert.Equal(t, tt.expect, v, msg) + assertEqual(t, tt.expect, v, "[NonE] "+msg) } } @@ -2118,15 +2117,15 @@ func TestIntE(t *testing.T) { v, err := cvt.IntE(tt.input) if tt.isErr { - assert.Error(t, err, msg) + assertError(t, err, "[HasErr] "+msg) continue } - assert.NoError(t, err, msg) - assert.Equal(t, tt.expect, v, msg) + assertNoError(t, err, "[NoErr] "+msg) + assertEqual(t, tt.expect, v, "[WithE] "+msg) - // Non-E test with no default value: + // Non-E test v = cvt.Int(tt.input) - assert.Equal(t, tt.expect, v, msg) + assertEqual(t, tt.expect, v, "[NonE] "+msg) } } diff --git a/slice_test.go b/slice_test.go index 429204f..a789887 100644 --- a/slice_test.go +++ b/slice_test.go @@ -5,7 +5,6 @@ import ( "testing" "github.com/shockerli/cvt" - "github.com/stretchr/testify/assert" ) func TestSlice_HasDefault(t *testing.T) { @@ -28,7 +27,7 @@ func TestSlice_HasDefault(t *testing.T) { msg := fmt.Sprintf("i = %d, input[%+v], def[%+v], expect[%+v]", i, tt.input, tt.def, tt.expect) v := cvt.Slice(tt.input, tt.def) - assert.Equal(t, tt.expect, v, msg) + assertEqual(t, tt.expect, v, "[NonE] "+msg) } } @@ -46,7 +45,7 @@ func TestSlice_BaseLine(t *testing.T) { msg := fmt.Sprintf("i = %d, input[%+v], expect[%+v]", i, tt.input, tt.expect) v := cvt.Slice(tt.input) - assert.Equal(t, tt.expect, v, msg) + assertEqual(t, tt.expect, v, "[NonE] "+msg) } } @@ -100,16 +99,16 @@ func TestSliceE(t *testing.T) { v, err := cvt.SliceE(tt.input) if tt.isErr { - assert.Error(t, err, msg) + assertError(t, err, "[HasErr] "+msg) continue } - assert.NoError(t, err, msg) - assert.Equal(t, tt.expect, v, msg) + assertNoError(t, err, "[NoErr] "+msg) + assertEqual(t, tt.expect, v, "[WithE] "+msg) - // Non-E test with no default value: + // Non-E test v = cvt.Slice(tt.input) - assert.Equal(t, tt.expect, v, msg) + assertEqual(t, tt.expect, v, "[NonE] "+msg) } } @@ -154,12 +153,12 @@ func TestSliceIntE(t *testing.T) { v, err := cvt.SliceIntE(tt.input) if tt.isErr { - assert.Error(t, err, msg) + assertError(t, err, "[HasErr] "+msg) continue } - assert.NoError(t, err, msg) - assert.Equal(t, tt.expect, v, msg) + assertNoError(t, err, "[NoErr] "+msg) + assertEqual(t, tt.expect, v, "[WithE] "+msg) } } @@ -205,12 +204,12 @@ func TestSliceInt64E(t *testing.T) { v, err := cvt.SliceInt64E(tt.input) if tt.isErr { - assert.Error(t, err, msg) + assertError(t, err, "[HasErr] "+msg) continue } - assert.NoError(t, err, msg) - assert.Equal(t, tt.expect, v, msg) + assertNoError(t, err, "[NoErr] "+msg) + assertEqual(t, tt.expect, v, "[WithE] "+msg) } } @@ -257,12 +256,12 @@ func TestSliceFloat64E(t *testing.T) { v, err := cvt.SliceFloat64E(tt.input) if tt.isErr { - assert.Error(t, err, msg) + assertError(t, err, "[HasErr] "+msg) continue } - assert.NoError(t, err, msg) - assert.Equal(t, tt.expect, v, msg) + assertNoError(t, err, "[NoErr] "+msg) + assertEqual(t, tt.expect, v, "[WithE] "+msg) } } @@ -304,12 +303,12 @@ func TestSliceStringE(t *testing.T) { v, err := cvt.SliceStringE(tt.input) if tt.isErr { - assert.Error(t, err, msg) + assertError(t, err, "[HasErr] "+msg) continue } - assert.NoError(t, err, msg) - assert.Equal(t, tt.expect, v, msg) + assertNoError(t, err, "[NoErr] "+msg) + assertEqual(t, tt.expect, v, "[WithE] "+msg) } } @@ -354,12 +353,12 @@ func TestColumnsE(t *testing.T) { v, err := cvt.ColumnsE(tt.input, tt.field) if tt.isErr { - assert.Error(t, err, msg) + assertError(t, err, "[HasErr] "+msg) continue } - assert.NoError(t, err, msg) - assert.Equal(t, tt.expect, v, msg) + assertNoError(t, err, "[NoErr] "+msg) + assertEqual(t, tt.expect, v, "[WithE] "+msg) } } @@ -388,11 +387,11 @@ func TestKeysE(t *testing.T) { v, err := cvt.KeysE(tt.input) if tt.isErr { - assert.Error(t, err, msg) + assertError(t, err, "[HasErr] "+msg) continue } - assert.NoError(t, err, msg) - assert.Equal(t, tt.expect, v, msg) + assertNoError(t, err, "[NoErr] "+msg) + assertEqual(t, tt.expect, v, "[WithE] "+msg) } } diff --git a/string_test.go b/string_test.go index 59358fe..c35d1db 100644 --- a/string_test.go +++ b/string_test.go @@ -10,7 +10,6 @@ import ( "time" "github.com/shockerli/cvt" - "github.com/stretchr/testify/assert" ) func TestString_HasDefault(t *testing.T) { @@ -51,7 +50,7 @@ func TestString_HasDefault(t *testing.T) { msg := fmt.Sprintf("i = %d, input[%+v], def[%+v], expect[%+v]", i, tt.input, tt.def, tt.expect) v := cvt.String(tt.input, tt.def) - assert.Equal(t, tt.expect, v, msg) + assertEqual(t, tt.expect, v, "[NonE] "+msg) } } @@ -72,7 +71,7 @@ func TestString_BaseLine(t *testing.T) { msg := fmt.Sprintf("i = %d, input[%+v], expect[%+v]", i, tt.input, tt.expect) v := cvt.String(tt.input) - assert.Equal(t, tt.expect, v, msg) + assertEqual(t, tt.expect, v, "[NonE] "+msg) } } @@ -167,15 +166,15 @@ func TestStringE(t *testing.T) { v, err := cvt.StringE(tt.input) if tt.isErr { - assert.Error(t, err, msg) + assertError(t, err, "[HasErr] "+msg) continue } - assert.NoError(t, err, msg) - assert.Equal(t, tt.expect, v, msg) + assertNoError(t, err, "[NoErr] "+msg) + assertEqual(t, tt.expect, v, "[WithE] "+msg) - // Non-E test with no default value: + // Non-E test v = cvt.String(tt.input) - assert.Equal(t, tt.expect, v, msg) + assertEqual(t, tt.expect, v, "[NonE] "+msg) } } diff --git a/time_test.go b/time_test.go index 0323e28..d983246 100644 --- a/time_test.go +++ b/time_test.go @@ -6,7 +6,6 @@ import ( "time" "github.com/shockerli/cvt" - "github.com/stretchr/testify/assert" ) func TestTime_HasDefault(t *testing.T) { @@ -27,7 +26,7 @@ func TestTime_HasDefault(t *testing.T) { msg := fmt.Sprintf("i = %d, input[%+v], def[%+v], expect[%+v]", i, tt.input, tt.def, tt.expect) v := cvt.Time(tt.input, tt.def) - assert.Equal(t, tt.expect, v.UTC(), msg) + assertEqual(t, tt.expect, v.UTC(), "[NonE] "+msg) } } @@ -44,7 +43,7 @@ func TestTime_BaseLine(t *testing.T) { msg := fmt.Sprintf("i = %d, input[%+v], expect[%+v]", i, tt.input, tt.expect) v := cvt.Time(tt.input) - assert.Equal(t, tt.expect, v, msg) + assertEqual(t, tt.expect, v, "[NonE] "+msg) } } @@ -111,15 +110,15 @@ func TestTimeE(t *testing.T) { v, err := cvt.TimeE(tt.input) if tt.isErr { - assert.Error(t, err, msg) + assertError(t, err, "[HasErr] "+msg) continue } - assert.NoError(t, err, msg) - assert.Equal(t, tt.expect, v.UTC(), v, msg) + assertNoError(t, err, "[NoErr] "+msg) + assertEqual(t, tt.expect, v.UTC(), "[WithE] "+msg) // Non-E test v = cvt.Time(tt.input) - assert.Equal(t, tt.expect, v.UTC(), msg) + assertEqual(t, tt.expect, v.UTC(), "[NonE] "+msg) } }