github.com/pharosnet/flyline@v1.0.2/value_test.go (about) 1 package flyline 2 3 import "testing" 4 5 func TestValue_Scan_Basic(t *testing.T) { 6 var err error = nil 7 vInt := int64(1) 8 i := int64(0) 9 err = ValueScan(vInt, &i) 10 t.Logf("int64: %v, %v", i == vInt, err) 11 vBool := true 12 b := false 13 err = ValueScan(vBool, &b) 14 t.Logf("bool: %v, %v", b == vBool, err) 15 } 16 17 func TestValue_Scan_Slice(t *testing.T) { 18 var err error = nil 19 v := []int64{1, 2, 3, 4} 20 s := make([]int64, 0, 4) 21 err = ValueScan(v, &s) 22 t.Logf("slice: src = %v, dest = %v, err = %v", v, s, err) 23 } 24 25 type P struct { 26 V int64 27 } 28 29 func TestValue_Scan_Interface(t *testing.T) { 30 var err error = nil 31 v1 := &P{1} 32 s1 := P{} 33 err = ValueScan(v1, &s1) 34 t.Logf("slice: src = %v, dest = %v, err = %v", v1, s1, err) 35 36 v2 := P{1} 37 s2 := new(P) 38 err = ValueScan(v2, s2) 39 t.Logf("slice: src = %v, dest = %v, err = %v", v2, s2, err) 40 41 }