50 lines
1.0 KiB
Go
50 lines
1.0 KiB
Go
package variables
|
|
|
|
import "testing"
|
|
|
|
type interfaceToBool struct {
|
|
Value interface{}
|
|
Result bool
|
|
}
|
|
|
|
var testIsMap = []*interfaceToBool{
|
|
{"teste", false},
|
|
{453478, false},
|
|
{-984512, false},
|
|
{true, false},
|
|
{map[string]bool{}, true},
|
|
{map[int]bool{}, true},
|
|
{map[interface{}]bool{}, true},
|
|
{[]string{}, false},
|
|
}
|
|
|
|
func TestIsMap(t *testing.T) {
|
|
for _, test := range testIsMap {
|
|
if IsMap(test.Value) != test.Result {
|
|
t.Errorf("Incorrect value on IsMap for %v; want: %v; got: %v", test.Value, test.Result, !test.Result)
|
|
}
|
|
}
|
|
}
|
|
|
|
var testIsSlice = []*interfaceToBool{
|
|
{"teste", false},
|
|
{453478, false},
|
|
{-984512, false},
|
|
{true, false},
|
|
{map[string]bool{}, false},
|
|
{map[int]bool{}, false},
|
|
{map[interface{}]bool{}, false},
|
|
{[]string{}, true},
|
|
{[]int{}, true},
|
|
{[]bool{}, true},
|
|
{[]interface{}{}, true},
|
|
}
|
|
|
|
func TestIsSlice(t *testing.T) {
|
|
for _, test := range testIsSlice {
|
|
if IsSlice(test.Value) != test.Result {
|
|
t.Errorf("Incorrect value on IsSlice for %v; want: %v; got: %v", test.Value, test.Result, !test.Result)
|
|
}
|
|
}
|
|
}
|