@@ -14,7 +14,9 @@ class SelectTests: SQLiteTestCase {
1414 CREATE TABLE users_name (
1515 id INTEGER,
1616 user_id INTEGER REFERENCES users(id),
17- name TEXT
17+ name TEXT,
18+ step_count BLOB,
19+ stair_count INTEGER
1820 )
1921 """
2022 )
@@ -27,18 +29,27 @@ class SelectTests: SQLiteTestCase {
2729 let name = Expression < String > ( " name " )
2830 let id = Expression < Int64 > ( " id " )
2931 let userID = Expression < Int64 > ( " user_id " )
32+ let stepCount = Expression < UInt64 > ( " step_count " )
33+ let stairCount = Expression < UInt32 > ( " stair_count " )
3034 let email = Expression < String > ( " email " )
35+ // use UInt64.max - 1 to test Endianness - it should store/load as big endian
36+ let reallyBigNumber = UInt64 . max - 1
37+ let prettyBigNumber = UInt32 . max - 1
3138
3239 try ! insertUser ( " Joey " )
3340 try ! db. run ( usersData. insert (
3441 id <- 1 ,
3542 userID <- 1 ,
36- name <- " Joey "
43+ name <- " Joey " ,
44+ stepCount <- reallyBigNumber,
45+ stairCount <- prettyBigNumber
3746 ) )
3847
39- try ! db. prepare ( users. select ( name, email) . join ( usersData, on: userID == users [ id] ) ) . forEach {
48+ try ! db. prepare ( users. select ( name, email, stepCount , stairCount ) . join ( usersData, on: userID == users [ id] ) ) . forEach {
4049 XCTAssertEqual ( $0 [ name] , " Joey " )
4150 XCTAssertEqual ( $0 [ email] , " Joey@example.com " )
51+ XCTAssertEqual ( $0 [ stepCount] , reallyBigNumber)
52+ XCTAssertEqual ( $0 [ stairCount] , prettyBigNumber)
4253 }
4354 }
4455}
0 commit comments