provided template function eq,lt unit test.

This commit is contained in:
letu 2021-05-20 19:53:24 +08:00
parent c8917f572f
commit debd4fca01

View File

@ -380,21 +380,213 @@ func TestMapGet(t *testing.T) {
}
func Test_eq(t *testing.T) {
var a uint = 1
var b int32 = 1
if res, err := eq(a, b); err != nil {
if !res {
t.Error("uint(1) and int32(1) should not be eq")
tests := []struct {
a interface{}
b interface{}
result bool
}{
{uint8(1), int(1), true},
{uint8(3), int(1), false},
{uint16(1), int(1), true},
{uint16(3), int(1), false},
{uint32(1), int(1), true},
{uint32(3), int(1), false},
{uint(1), int(1), true},
{uint(3), int(1), false},
{uint64(1), int(1), true},
{uint64(3), int(1), false},
{int8(-1), uint(1), false},
{int16(-2), uint(1), false},
{int32(-3), uint(1), false},
{int64(-4), uint(1), false},
{int8(1), uint(1), true},
{int16(1), uint(1), true},
{int32(1), uint(1), true},
{int64(1), uint(1), true},
{int8(-1), uint8(1), false},
{int16(-2), uint8(1), false},
{int32(-3), uint8(1), false},
{int64(-4), uint8(1), false},
{int8(1), uint8(1), true},
{int16(1), uint8(1), true},
{int32(1), uint8(1), true},
{int64(1), uint8(1), true},
{int8(-1), uint16(1), false},
{int16(-2), uint16(1), false},
{int32(-3), uint16(1), false},
{int64(-4), uint16(1), false},
{int8(1), uint16(1), true},
{int16(1), uint16(1), true},
{int32(1), uint16(1), true},
{int64(1), uint16(1), true},
{int8(-1), uint32(1), false},
{int16(-2), uint32(1), false},
{int32(-3), uint32(1), false},
{int64(-4), uint32(1), false},
{int8(1), uint32(1), true},
{int16(1), uint32(1), true},
{int32(1), uint32(1), true},
{int64(1), uint32(1), true},
{int8(-1), uint64(1), false},
{int16(-2), uint64(1), false},
{int32(-3), uint64(1), false},
{int64(-4), uint64(1), false},
{int8(1), uint64(1), true},
{int16(1), uint64(1), true},
{int32(1), uint64(1), true},
{int64(1), uint64(1), true},
}
for _, test := range tests {
if res, err := eq(test.a, test.b); err != nil {
if res != test.result {
t.Errorf("a:%v(%T) equals b:%v(%T) should be %v", test.a, test.a, test.b, test.b, test.result)
}
}
}
}
func Test_lt(t *testing.T) {
var a uint = 1
var b int32 = 2
if res, err := lt(a, b); err != nil {
if !res {
t.Error("uint(1) not lt int32(2)")
tests := []struct {
a interface{}
b interface{}
result bool
}{
{uint8(1), int(3), true},
{uint8(1), int(1), false},
{uint8(3), int(1), false},
{uint16(1), int(3), true},
{uint16(1), int(1), false},
{uint16(3), int(1), false},
{uint32(1), int(3), true},
{uint32(1), int(1), false},
{uint32(3), int(1), false},
{uint(1), int(3), true},
{uint(1), int(1), false},
{uint(3), int(1), false},
{uint64(1), int(3), true},
{uint64(1), int(1), false},
{uint64(3), int(1), false},
{int(-1), int(1), true},
{int(1), int(1), false},
{int(1), int(3), true},
{int(3), int(1), false},
{int8(-1), uint(1), true},
{int8(1), uint(1), false},
{int8(1), uint(3), true},
{int8(3), uint(1), false},
{int16(-1), uint(1), true},
{int16(1), uint(1), false},
{int16(1), uint(3), true},
{int16(3), uint(1), false},
{int32(-1), uint(1), true},
{int32(1), uint(1), false},
{int32(1), uint(3), true},
{int32(3), uint(1), false},
{int64(-1), uint(1), true},
{int64(1), uint(1), false},
{int64(1), uint(3), true},
{int64(3), uint(1), false},
{int(-1), uint(1), true},
{int(1), uint(1), false},
{int(1), uint(3), true},
{int(3), uint(1), false},
{int8(-1), uint8(1), true},
{int8(1), uint8(1), false},
{int8(1), uint8(3), true},
{int8(3), uint8(1), false},
{int16(-1), uint8(1), true},
{int16(1), uint8(1), false},
{int16(1), uint8(3), true},
{int16(3), uint8(1), false},
{int32(-1), uint8(1), true},
{int32(1), uint8(1), false},
{int32(1), uint8(3), true},
{int32(3), uint8(1), false},
{int64(-1), uint8(1), true},
{int64(1), uint8(1), false},
{int64(1), uint8(3), true},
{int64(3), uint8(1), false},
{int(-1), uint8(1), true},
{int(1), uint8(1), false},
{int(1), uint8(3), true},
{int(3), uint8(1), false},
{int8(-1), uint16(1), true},
{int8(1), uint16(1), false},
{int8(1), uint16(3), true},
{int8(3), uint16(1), false},
{int16(-1), uint16(1), true},
{int16(1), uint16(1), false},
{int16(1), uint16(3), true},
{int16(3), uint16(1), false},
{int32(-1), uint16(1), true},
{int32(1), uint16(1), false},
{int32(1), uint16(3), true},
{int32(3), uint16(1), false},
{int64(-1), uint16(1), true},
{int64(1), uint16(1), false},
{int64(1), uint16(3), true},
{int64(3), uint16(1), false},
{int(-1), uint16(1), true},
{int(1), uint16(1), false},
{int(1), uint16(3), true},
{int(3), uint16(1), false},
{int8(-1), uint32(1), true},
{int8(1), uint32(1), false},
{int8(1), uint32(3), true},
{int8(3), uint32(1), false},
{int16(-1), uint32(1), true},
{int16(1), uint32(1), false},
{int16(1), uint32(3), true},
{int16(3), uint32(1), false},
{int32(-1), uint32(1), true},
{int32(1), uint32(1), false},
{int32(1), uint32(3), true},
{int32(3), uint32(1), false},
{int64(-1), uint32(1), true},
{int64(1), uint32(1), false},
{int64(1), uint32(3), true},
{int64(3), uint32(1), false},
{int(-1), uint32(1), true},
{int(1), uint32(1), false},
{int(1), uint32(3), true},
{int(3), uint32(1), false},
{int8(-1), uint64(1), true},
{int8(1), uint64(1), false},
{int8(1), uint64(3), true},
{int8(3), uint64(1), false},
{int16(-1), uint64(1), true},
{int16(1), uint64(1), false},
{int16(1), uint64(3), true},
{int16(3), uint64(1), false},
{int32(-1), uint64(1), true},
{int32(1), uint64(1), false},
{int32(1), uint64(3), true},
{int32(3), uint64(1), false},
{int64(-1), uint64(1), true},
{int64(1), uint64(1), false},
{int64(1), uint64(3), true},
{int64(3), uint64(1), false},
{int(-1), uint64(1), true},
{int(1), uint64(1), false},
{int(1), uint64(3), true},
{int(3), uint64(1), false},
}
for _, test := range tests {
if res, err := lt(test.a, test.b); err != nil {
if res != test.result {
t.Errorf("a:%v(%T) lt b:%v(%T) should be %v", test.a, test.a, test.b, test.b, test.result)
}
}
}
}