github.com/yaoapp/kun@v0.9.0/any/sync_test.go (about) 1 package any 2 3 import ( 4 "fmt" 5 "testing" 6 7 "github.com/stretchr/testify/assert" 8 ) 9 10 func TestSyncMake(t *testing.T) { 11 v := MakeSync() 12 assert.Empty(t, v.String()) 13 } 14 15 func TestSyncOf(t *testing.T) { 16 v := SyncOf("hello") 17 assert.Equal(t, "hello", v.String()) 18 } 19 20 func TestSyncSet(t *testing.T) { 21 v := SyncOf("hello") 22 assert.Equal(t, "hello", v.CString()) 23 24 v.Set(1) 25 assert.Equal(t, 1, v.Get()) 26 assert.Equal(t, "1", v.CString()) 27 } 28 29 func TestSyncGet(t *testing.T) { 30 31 v := SyncOf("hello") 32 assert.Equal(t, "hello", v.Get()) 33 assert.Equal(t, "hello", v.Val()) 34 assert.Equal(t, "hello", v.Interface()) 35 36 v.Set(1) 37 assert.Equal(t, 1, v.Get()) 38 assert.Equal(t, 1, v.Val()) 39 assert.Equal(t, 1, v.Interface()) 40 } 41 42 func TestSyncString(t *testing.T) { 43 v := SyncOf("hello") 44 assert.Equal(t, "hello", v.String()) 45 v.Set(1) 46 assert.Panics(t, func() { 47 fmt.Printf(v.String()) 48 }) 49 } 50 51 func TestSyncCString(t *testing.T) { 52 v := SyncOf("hello") 53 assert.Equal(t, "hello", v.CString()) 54 v.Set(1) 55 assert.Equal(t, "1", v.CString()) 56 }