dani-sqlite-0.1.0.0: test-query/DirectSqlite.hs
{-# LANGUAGE OverloadedStrings #-}
{-# LANGUAGE RecordWildCards #-}
module DirectSqlite
( testDirectSqlite,
)
where
import Common
import Control.Exception (bracket)
import Sqlite qualified as DS
testDirectSqlite :: TestEnv -> Test
testDirectSqlite TestEnv {..} = TestCase $ do
let dsConn = conn
bracket (DS.prepare dsConn "SELECT 1+1") DS.finalize testDirect
[MkSolo (res :: Int)] <- select_ conn "SELECT 1+2"
assertEqual "1+2" 3 res
where
testDirect stmt = do
DS.Row <- DS.step stmt
res <- DS.column stmt 0
assertEqual "1+1" (SqlInteger 2) res