46 lines
1.4 KiB
Swift
46 lines
1.4 KiB
Swift
import Testing
|
|
import DataLiteCore
|
|
import DataLiteC
|
|
|
|
struct StatementOptionsTests {
|
|
@Test func testOptionsInitialization() {
|
|
let options: Statement.Options = [.persistent]
|
|
|
|
#expect(options.contains(.persistent))
|
|
#expect(options.contains(.noVtab) == false)
|
|
}
|
|
|
|
@Test func testOptionsCombination() {
|
|
var options: Statement.Options = [.persistent]
|
|
|
|
#expect(options.contains(.persistent))
|
|
#expect(options.contains(.noVtab) == false)
|
|
|
|
options.insert(.noVtab)
|
|
|
|
#expect(options.contains(.persistent))
|
|
#expect(options.contains(.noVtab))
|
|
}
|
|
|
|
@Test func testOptionsRemoval() {
|
|
var options: Statement.Options = [.persistent, .noVtab]
|
|
|
|
#expect(options.contains(.persistent))
|
|
#expect(options.contains(.noVtab))
|
|
|
|
options.remove(.noVtab)
|
|
|
|
#expect(options.contains(.persistent))
|
|
#expect(options.contains(.noVtab) == false)
|
|
}
|
|
|
|
@Test func testOptionsRawValue() {
|
|
let options: Statement.Options = [.persistent, .noVtab]
|
|
let rawOpts = UInt32(SQLITE_PREPARE_PERSISTENT | SQLITE_PREPARE_NO_VTAB)
|
|
|
|
#expect(options.rawValue == rawOpts)
|
|
#expect(Statement.Options.persistent.rawValue == UInt32(SQLITE_PREPARE_PERSISTENT))
|
|
#expect(Statement.Options.noVtab.rawValue == UInt32(SQLITE_PREPARE_NO_VTAB))
|
|
}
|
|
}
|