filebrowser/variables/variables_test.go

42 lines
804 B
Go
Raw Normal View History

2017-06-24 19:12:15 +08:00
package variables
import "testing"
type testFieldInStructData struct {
f1 string
f2 bool
f3 int
f4 func()
}
type testFieldInStruct struct {
data interface{}
field string
result bool
}
var testFieldInStructCases = []testFieldInStruct{
{testFieldInStructData{}, "f1", true},
{testFieldInStructData{}, "f2", true},
{testFieldInStructData{}, "f3", true},
{testFieldInStructData{}, "f4", true},
{testFieldInStructData{}, "f5", false},
{[]string{}, "", false},
{map[string]int{"oi": 4}, "", false},
{"asa", "", false},
{"int", "", false},
}
func TestFieldInStruct(t *testing.T) {
for _, pair := range testFieldInStructCases {
v := FieldInStruct(pair.data, pair.field)
if v != pair.result {
t.Error(
"For", pair.data,
"expected", pair.result,
"got", v,
)
}
}
}