Add unit tests

This commit is contained in:
2025-10-25 18:56:55 +03:00
parent ddc47abdde
commit bbb7f14650
38 changed files with 1051 additions and 526 deletions

View File

@@ -1,28 +1,36 @@
import Foundation
import Testing
import DataLiteC
@testable import DataLiteCore
struct SQLiteErrorTests {
@Test func testInitWithConnection() {
var db: OpaquePointer? = nil
defer { sqlite3_close(db) }
sqlite3_open(":memory:", &db)
sqlite3_exec(db, "INVALID SQL", nil, nil, nil)
@Test func initWithConnection() {
var connection: OpaquePointer!
defer { sqlite3_close(connection) }
sqlite3_open(":memory:", &connection)
sqlite3_exec(connection, "INVALID SQL", nil, nil, nil)
let error = SQLiteError(db!)
let error = SQLiteError(connection)
#expect(error.code == SQLITE_ERROR)
#expect(error.message == "near \"INVALID\": syntax error")
}
@Test func testInitWithCodeAndMessage() {
@Test func initWithCodeAndMessage() {
let error = SQLiteError(code: 1, message: "Test Error Message")
#expect(error.code == 1)
#expect(error.message == "Test Error Message")
}
@Test func testDescription() {
@Test func description() {
let error = SQLiteError(code: 1, message: "Test Error Message")
#expect(error.description == "SQLiteError code: 1 message: Test Error Message")
#expect(error.description == "SQLiteError(1): Test Error Message")
}
@Test func equality() {
let lhs = SQLiteError(code: 1, message: "First")
let rhs = SQLiteError(code: 1, message: "First")
let different = SQLiteError(code: 2, message: "Second")
#expect(lhs == rhs)
#expect(lhs != different)
}
}