70 lines
2.6 KiB
Swift
70 lines
2.6 KiB
Swift
import Testing
|
|
import DataLiteC
|
|
import DataLiteCore
|
|
|
|
struct ConnectionOptionsTests {
|
|
@Test func readOnlyOption() {
|
|
let options: Connection.Options = [.readonly]
|
|
#expect(options.contains(.readonly))
|
|
}
|
|
|
|
@Test func readWriteOption() {
|
|
let options: Connection.Options = [.readwrite]
|
|
#expect(options.contains(.readwrite))
|
|
}
|
|
|
|
@Test func createOption() {
|
|
let options: Connection.Options = [.create]
|
|
#expect(options.contains(.create))
|
|
}
|
|
|
|
@Test func multipleOptions() {
|
|
let options: Connection.Options = [.readwrite, .create, .memory]
|
|
#expect(options.contains(.readwrite))
|
|
#expect(options.contains(.create))
|
|
#expect(options.contains(.memory))
|
|
}
|
|
|
|
@Test func noFollowOption() {
|
|
let options: Connection.Options = [.nofollow]
|
|
#expect(options.contains(.nofollow))
|
|
}
|
|
|
|
@Test func allOptions() {
|
|
let options: Connection.Options = [
|
|
.readonly, .readwrite, .create, .uri, .memory,
|
|
.nomutex, .fullmutex, .sharedcache,
|
|
.privatecache, .exrescode, .nofollow
|
|
]
|
|
|
|
#expect(options.contains(.readonly))
|
|
#expect(options.contains(.readwrite))
|
|
#expect(options.contains(.create))
|
|
#expect(options.contains(.uri))
|
|
#expect(options.contains(.memory))
|
|
#expect(options.contains(.nomutex))
|
|
#expect(options.contains(.fullmutex))
|
|
#expect(options.contains(.sharedcache))
|
|
#expect(options.contains(.privatecache))
|
|
#expect(options.contains(.exrescode))
|
|
#expect(options.contains(.nofollow))
|
|
}
|
|
|
|
@Test func optionsRawValue() {
|
|
let options: Connection.Options = [.readwrite, .create]
|
|
let expectedRawValue = Int32(SQLITE_OPEN_READWRITE | SQLITE_OPEN_CREATE)
|
|
#expect(options.rawValue == expectedRawValue)
|
|
|
|
#expect(Connection.Options.readonly.rawValue == SQLITE_OPEN_READONLY)
|
|
#expect(Connection.Options.readwrite.rawValue == SQLITE_OPEN_READWRITE)
|
|
#expect(Connection.Options.create.rawValue == SQLITE_OPEN_CREATE)
|
|
#expect(Connection.Options.memory.rawValue == SQLITE_OPEN_MEMORY)
|
|
#expect(Connection.Options.nomutex.rawValue == SQLITE_OPEN_NOMUTEX)
|
|
#expect(Connection.Options.fullmutex.rawValue == SQLITE_OPEN_FULLMUTEX)
|
|
#expect(Connection.Options.sharedcache.rawValue == SQLITE_OPEN_SHAREDCACHE)
|
|
#expect(Connection.Options.privatecache.rawValue == SQLITE_OPEN_PRIVATECACHE)
|
|
#expect(Connection.Options.exrescode.rawValue == SQLITE_OPEN_EXRESCODE)
|
|
#expect(Connection.Options.nofollow.rawValue == SQLITE_OPEN_NOFOLLOW)
|
|
}
|
|
}
|