github.com/andeya/ameda@v1.5.3/initialize_test.go (about) 1 package ameda 2 3 import ( 4 "encoding/json" 5 "reflect" 6 "testing" 7 8 "github.com/stretchr/testify/assert" 9 ) 10 11 func TestInitPointer(t *testing.T) { 12 type T struct { 13 A string 14 B int 15 *T 16 } 17 var i ****T 18 var i2 interface{} = &i 19 var i3 = &i2 20 var i4 = &i3 21 var i5 interface{} = &i4 22 var i6 = &i5 23 var i7 interface{} = &i6 24 v := reflect.ValueOf(&i7) 25 done := InitPointer(v) 26 assert.True(t, done) 27 assert.Equal(t, T{}, ****i) 28 } 29 30 func TestInitSampleValue(t *testing.T) { 31 type P3 struct { 32 M string 33 } 34 type P2 struct { 35 X float32 36 Y uint8 37 Z **bool 38 } 39 type P struct { 40 A string 41 B int 42 Po P2 43 ps []P2 44 P2 45 P3 46 Pm map[string]P 47 } 48 v := InitSampleValue(reflect.TypeOf(map[string]P{}), 5).Interface().(map[string]P) 49 b, err := json.MarshalIndent(v, "", " ") 50 assert.NoError(t, err) 51 t.Logf("%s", b) 52 }