pgx/data_row_reader_test.go

118 lines
2.1 KiB
Go

package pgx
import (
"testing"
)
func TestDataRowReaderReadString(t *testing.T) {
conn := getSharedConnection()
var s string
onDataRow := func(r *DataRowReader) error {
s = r.ReadString()
return nil
}
err := conn.SelectFunc("select 'Jack'", onDataRow)
if err != nil {
t.Fatal("Select failed: " + err.Error())
}
if s != "Jack" {
t.Error("Wrong value returned")
}
}
func TestDataRowReaderReadInt64(t *testing.T) {
conn := getSharedConnection()
var n int64
onDataRow := func(r *DataRowReader) error {
n = r.ReadInt64()
return nil
}
err := conn.SelectFunc("select 1", onDataRow)
if err != nil {
t.Fatal("Select failed: " + err.Error())
}
if n != 1 {
t.Error("Wrong value returned")
}
}
func TestDataRowReaderReadInt32(t *testing.T) {
conn := getSharedConnection()
var n int32
onDataRow := func(r *DataRowReader) error {
n = r.ReadInt32()
return nil
}
err := conn.SelectFunc("select 1", onDataRow)
if err != nil {
t.Fatal("Select failed: " + err.Error())
}
if n != 1 {
t.Error("Wrong value returned")
}
}
func TestDataRowReaderReadInt16(t *testing.T) {
conn := getSharedConnection()
var n int16
onDataRow := func(r *DataRowReader) error {
n = r.ReadInt16()
return nil
}
err := conn.SelectFunc("select 1", onDataRow)
if err != nil {
t.Fatal("Select failed: " + err.Error())
}
if n != 1 {
t.Error("Wrong value returned")
}
}
func TestDataRowReaderReadFloat64(t *testing.T) {
conn := getSharedConnection()
var n float64
onDataRow := func(r *DataRowReader) error {
n = r.ReadFloat64()
return nil
}
err := conn.SelectFunc("select 1.5", onDataRow)
if err != nil {
t.Fatal("Select failed: " + err.Error())
}
if n != 1.5 {
t.Error("Wrong value returned")
}
}
func TestDataRowReaderReadFloat32(t *testing.T) {
conn := getSharedConnection()
var n float32
onDataRow := func(r *DataRowReader) error {
n = r.ReadFloat32()
return nil
}
err := conn.SelectFunc("select 1.5", onDataRow)
if err != nil {
t.Fatal("Select failed: " + err.Error())
}
if n != 1.5 {
t.Error("Wrong value returned")
}
}