| package squirrel |
| |
| import ( |
| "fmt" |
| "testing" |
| |
| "github.com/stretchr/testify/assert" |
| ) |
| |
| type RowStub struct { |
| Scanned bool |
| } |
| |
| func (r *RowStub) Scan(_ ...interface{}) error { |
| r.Scanned = true |
| return nil |
| } |
| |
| func TestRowScan(t *testing.T) { |
| stub := &RowStub{} |
| row := &Row{RowScanner: stub} |
| err := row.Scan() |
| assert.True(t, stub.Scanned, "row was not scanned") |
| assert.NoError(t, err) |
| } |
| |
| func TestRowScanErr(t *testing.T) { |
| stub := &RowStub{} |
| rowErr := fmt.Errorf("scan err") |
| row := &Row{RowScanner: stub, err: rowErr} |
| err := row.Scan() |
| assert.False(t, stub.Scanned, "row was scanned") |
| assert.Equal(t, rowErr, err) |
| } |