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

@@ -0,0 +1,46 @@
import Foundation
import Testing
import DataLiteCore
struct ArgumentsProtocolTests {
@Test func typedSubscript() {
let arguments: Arguments = [
.text("one"),
.text("two"),
.int(42)
]
#expect(arguments[0] == TestModel.one)
#expect(arguments[1] == TestModel.two)
#expect(arguments[2] as TestModel? == nil)
}
}
private extension ArgumentsProtocolTests {
enum TestModel: String, SQLiteRepresentable {
case one, two
}
struct Arguments: ArgumentsProtocol, ExpressibleByArrayLiteral {
private let values: [SQLiteValue]
var startIndex: Int { values.startIndex }
var endIndex: Int { values.endIndex }
init(_ values: [SQLiteValue]) {
self.values = values
}
init(arrayLiteral elements: SQLiteValue...) {
self.values = elements
}
subscript(index: Int) -> SQLiteValue {
values[index]
}
func index(after i: Int) -> Int {
values.index(after: i)
}
}
}