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 }