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)
 | 
						|
		}
 | 
						|
	}
 | 
						|
}
 |