12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758 |
- package valid
- import (
- "testing"
- "github.com/stretchr/testify/assert"
- )
- type MyInterface interface {
- Hello()
- }
- func TestNotNil(t *testing.T) {
- var v1 []int
- var v2 map[string]int
- var v3 *int
- var v4 interface{}
- var v5 MyInterface
- tests := []struct {
- tag string
- value interface{}
- err string
- }{
- {"t1", v1, "is required"},
- {"t2", v2, "is required"},
- {"t3", v3, "is required"},
- {"t4", v4, "is required"},
- {"t5", v5, "is required"},
- {"t6", "", ""},
- {"t7", 0, ""},
- }
- for _, test := range tests {
- r := NotNil
- err := r.Validate(test.value)
- assertError(t, test.err, err, test.tag)
- }
- }
- func Test_notNilRule_Error(t *testing.T) {
- r := NotNil
- assert.Equal(t, "is required", r.Validate(nil).Error())
- r2 := r.Error("123")
- assert.Equal(t, "is required", r.Validate(nil).Error())
- assert.Equal(t, "123", r2.err.Message())
- }
- func TestNotNilRule_ErrorObject(t *testing.T) {
- r := NotNil
- err := NewError("code", "abc")
- r = r.ErrorObject(err)
- assert.Equal(t, err, r.err)
- assert.Equal(t, err.Code(), r.err.Code())
- assert.Equal(t, err.Message(), r.err.Message())
- assert.NotEqual(t, err, NotNil.err)
- }
|