Files
multus-cni/vendor/github.com/modern-go/reflect2/tests/struct_eface_test.go

29 lines
686 B
Go

package tests
import (
"github.com/modern-go/reflect2"
"testing"
)
func Test_struct_eface(t *testing.T) {
type TestObject struct {
Field1 interface{}
}
var pEFace = func(val interface{}) interface{} {
return &val
}
t.Run("SetIndex", testOp(func(api reflect2.API) interface{} {
valType := api.TypeOf(TestObject{}).(reflect2.StructType)
field1 := valType.FieldByName("Field1")
obj := TestObject{}
field1.Set(&obj, pEFace(100))
return obj
}))
t.Run("GetIndex", testOp(func(api reflect2.API) interface{} {
obj := TestObject{Field1: 100}
valType := api.TypeOf(obj).(reflect2.StructType)
field1 := valType.FieldByName("Field1")
return field1.Get(&obj)
}))
}