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  }