-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathDelete.swift
42 lines (34 loc) · 1.2 KB
/
Delete.swift
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
import XCTest
import GRDBPerformance
import GRDB
import Foundation
class DeletePerformanceTest: XCTestCase {
func testGenerated() throws {
TestRunner.startMeasure(theTest: self, block: { db, uuid in
try! DbUser.PrimaryKey(userUuid: uuid).genDelete(db: db)
})
}
func testGRDB() throws {
TestRunner.startMeasure(theTest: self, block: { db, uuid in
try! User.deleteOne(db, key: uuid.uuidString)
})
}
func testDeleteBy() {
let db = setupPool()
try! db.write { con in
var user0 = DbUser.random()
var user1 = DbUser.random()
var user2 = DbUser.random()
user0.firstName = "hi"
user1.firstName = user0.firstName
user2.firstName = user0.firstName! + "extra"
try user0.genInsert(db: con)
try user1.genInsert(db: con)
try user2.genInsert(db: con)
try DbUser.genDeleteByFirstName(db: con, firstName: user0.firstName!)
XCTAssertEqual(2, con.changesCount)
XCTAssertNil(try user0.primaryKey().genSelect(db: con))
XCTAssertNotNil(try user2.primaryKey().genSelect(db: con))
}
}
}