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  }