github.com/sohaha/zlsgo@v1.7.13-0.20240501141223-10dd1a906f76/zreflect/type_test.go (about)

     1  package zreflect_test
     2  
     3  import (
     4  	"reflect"
     5  	"testing"
     6  
     7  	"github.com/sohaha/zlsgo"
     8  	"github.com/sohaha/zlsgo/zreflect"
     9  )
    10  
    11  func TestType(t *testing.T) {
    12  	tt := zlsgo.NewTest(t)
    13  
    14  	typ := zreflect.TypeOf(zreflect.Demo)
    15  	ztyp := zreflect.NewType(zreflect.Demo)
    16  	vtyp := zreflect.NewType(zreflect.NewValue(zreflect.Demo))
    17  	zztyp := zreflect.NewType(ztyp)
    18  	zgtyp := zreflect.NewType(typ)
    19  	atyp := zreflect.NewValue(zreflect.Demo).Type()
    20  
    21  	tt.Equal(reflect.Struct, typ.Kind())
    22  	tt.Equal(reflect.Struct, ztyp.Native().Kind())
    23  	tt.Equal(reflect.Struct, vtyp.Native().Kind())
    24  	tt.Equal(reflect.Struct, zztyp.Native().Kind())
    25  	tt.Equal(reflect.Struct, zgtyp.Native().Kind())
    26  	tt.Equal(reflect.Struct, atyp.Native().Kind())
    27  
    28  	tt.Equal(typ.NumMethod(), ztyp.NumMethod())
    29  
    30  }