github.com/andeya/ameda@v1.5.3/typconv_test.go (about)

     1  package ameda
     2  
     3  import (
     4  	"reflect"
     5  	"testing"
     6  
     7  	"github.com/stretchr/testify/assert"
     8  )
     9  
    10  func TestUnsafeBytesToString(t *testing.T) {
    11  	var b = []byte("abc")
    12  	s := UnsafeBytesToString(b)
    13  	assert.Equal(t, string(b), s)
    14  }
    15  
    16  func TestUnsafeStringToBytes(t *testing.T) {
    17  	var s = "abc"
    18  	b := UnsafeStringToBytes(s)
    19  	assert.Equal(t, []byte(s), b)
    20  }
    21  
    22  func TestReferenceSlice(t *testing.T) {
    23  	v := reflect.ValueOf([]int{1, 2})
    24  	v = ReferenceSlice(v, 1)
    25  	ret := v.Interface().([]*int)
    26  	t.Logf("%#v", ret)
    27  
    28  	v = reflect.ValueOf([]int{})
    29  	v = ReferenceSlice(v, 1)
    30  	ret = v.Interface().([]*int)
    31  	t.Logf("%#v", ret)
    32  }
    33  
    34  func TestDereferenceSlice(t *testing.T) {
    35  	one := 1
    36  	two := 2
    37  	v := reflect.ValueOf([]*int{&one, &two})
    38  	v = DereferenceSlice(v)
    39  	ret := v.Interface().([]int)
    40  	t.Logf("%#v", ret)
    41  
    42  	v = reflect.ValueOf([]*int{})
    43  	v = DereferenceSlice(v)
    44  	ret = v.Interface().([]int)
    45  	t.Logf("%#v", ret)
    46  }