jet/tests/sqlite/cast_test.go
Eli Ribble 34e5dcbb17
All checks were successful
/ test (push) Successful in 3s
Switch to hosting on source.gleipnir.technology
2026-05-14 16:26:47 +00:00

41 lines
883 B
Go

package sqlite
import (
"source.gleipnir.technology/Gleipnir/jet/internal/testutils"
. "source.gleipnir.technology/Gleipnir/jet/sqlite"
"github.com/stretchr/testify/require"
"testing"
)
func TestCast(t *testing.T) {
query := SELECT(
CAST(String("test")).AS("CHARACTER").AS("result.AS1"),
CAST(Float(11.33)).AS_TEXT().AS("result.text"),
CAST(String("33.44")).AS_REAL().AS("result.real"),
CAST(String("33")).AS_INTEGER().AS("result.integer"),
CAST(String("Blob blob")).AS_BLOB().AS("result.blob"),
)
type Result struct {
As1 string
Text string
Real float64
Integer int64
Blob []byte
}
var dest Result
err := query.Query(db, &dest)
require.NoError(t, err)
testutils.AssertDeepEqual(t, dest, Result{
As1: "test",
Text: "11.33",
Real: 33.44,
Integer: 33,
Blob: []byte("Blob blob"),
})
requireLogged(t, query)
}