github.com/TIBCOSoftware/flogo-lib@v0.5.9/core/mapper/exprmapper/json/util_test.go (about) 1 package json 2 3 import ( 4 "fmt" 5 "github.com/stretchr/testify/assert" 6 "testing" 7 ) 8 9 type TestStruct struct { 10 Id string `json:"id"` 11 name string `json:"name"` 12 Zipcode string `json:"zipcode"` 13 Test string `json:",omitempty` 14 } 15 16 func TestGetFieldByName(t *testing.T) { 17 test := &TestStruct{Id: "idssss", name: "dddddd", Zipcode: "55555", Test: "ddd"} 18 field, _ := GetFieldByName(test, "id") 19 fmt.Println(field.Interface()) 20 } 21 22 func TestIsMapperableType(t *testing.T) { 23 assert.True(t, IsMapperableType(map[string]interface{}{})) 24 assert.True(t, IsMapperableType(map[string]string{})) 25 assert.True(t, IsMapperableType([]int{1, 2, 3, 4})) 26 assert.True(t, IsMapperableType([]interface{}{"string"})) 27 assert.True(t, IsMapperableType([]interface{}{map[string]interface{}{}})) 28 29 str := struct { 30 ID string 31 Name string 32 }{ 33 ID: "11111", 34 Name: "22222", 35 } 36 37 assert.False(t, IsMapperableType(&str)) 38 assert.False(t, IsMapperableType(str)) 39 40 array := []interface{}{str} 41 array2 := []interface{}{&str} 42 assert.False(t, IsMapperableType(array)) 43 assert.False(t, IsMapperableType(array2)) 44 45 }