Skip to content

Commit 3390ee2

Browse files
committed
Add test for overriden
1 parent 0aff00c commit 3390ee2

File tree

1 file changed

+31
-17
lines changed

1 file changed

+31
-17
lines changed

Tests/iOS/Tests/Storage/StorageSupportTests.swift

Lines changed: 31 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -125,15 +125,16 @@ final class StorageSupportTests: XCTestCase {
125125
XCTAssertEqual(try s.object(forKey: "set") as Set<Int>, set)
126126
}
127127

128-
/*
129128
func testWithSimpleDictionary() throws {
129+
let s = storage.support(transformer: TransformerFactory.forCodable(ofType: [String: Int].self))
130+
130131
let dict: [String: Int] = [
131132
"key1": 1,
132133
"key2": 2
133134
]
134135

135-
try storage.setObject(dict, forKey: "dict")
136-
let cachedObject = try storage.object(ofType: [String: Int].self, forKey: "dict") as [String: Int]
136+
try s.setObject(dict, forKey: "dict")
137+
let cachedObject = try s.object(forKey: "dict") as [String: Int]
137138
XCTAssertEqual(cachedObject, dict)
138139
}
139140

@@ -148,44 +149,57 @@ final class StorageSupportTests: XCTestCase {
148149
}
149150

150151
func testSameKey() throws {
152+
let s = storage.support(transformer: TransformerFactory.forCodable(ofType: User.self))
153+
151154
let user = User(firstName: "John", lastName: "Snow")
152155
let key = "keyMadeOfDragonGlass"
153-
try storage.setObject(user, forKey: key)
154-
try storage.setObject("Dragonstone", forKey: key)
156+
try s.setObject(user, forKey: key)
155157

156-
XCTAssertNil(try? storage.object(ofType: User.self, forKey: key))
157-
XCTAssertNotNil(try storage.object(ofType: String.self, forKey: key))
158+
do {
159+
let stringStorage = s.support(transformer: TransformerFactory.forCodable(ofType: String.self))
160+
try stringStorage.setObject("Dragonstone", forKey: key)
161+
}
162+
163+
XCTAssertNil(try? s.object(forKey: key))
164+
XCTAssertNotNil(try s.object(forKey: key))
158165
}
159166

160167
func testIntFloat() throws {
168+
let s = storage.support(transformer: TransformerFactory.forCodable(ofType: Float.self))
161169
let key = "key"
162-
try storage.setObject(10, forKey: key)
170+
try s.setObject(10, forKey: key)
163171

164172
try then("Casting to int or float is the same") {
165-
XCTAssertEqual(try storage.object(ofType: Int.self, forKey: key), 10)
166-
XCTAssertEqual(try storage.object(ofType: Float.self, forKey: key), 10)
173+
XCTAssertEqual(try s.object(forKey: key), 10)
174+
175+
let intStorage = s.support(transformer: TransformerFactory.forCodable(ofType: Int.self))
176+
XCTAssertEqual(try intStorage.object(forKey: key), 10)
167177
}
168178
}
169179

170180
func testFloatDouble() throws {
181+
let s = storage.support(transformer: TransformerFactory.forCodable(ofType: Float.self))
171182
let key = "key"
172-
try storage.setObject(10.5, forKey: key)
183+
try s.setObject(10.5, forKey: key)
173184

174185
try then("Casting to float or double is the same") {
175-
XCTAssertEqual(try storage.object(ofType: Float.self, forKey: key), 10.5)
176-
XCTAssertEqual(try storage.object(ofType: Double.self, forKey: key), 10.5)
186+
XCTAssertEqual(try s.object(forKey: key), 10.5)
187+
188+
let doubleStorage = s.support(transformer: TransformerFactory.forCodable(ofType: Double.self))
189+
XCTAssertEqual(try doubleStorage.object(forKey: key), 10.5)
177190
}
178191
}
179192

180193
func testCastingToAnotherType() throws {
181-
try storage.setObject("Hello", forKey: "string")
194+
let s = storage.support(transformer: TransformerFactory.forCodable(ofType: String.self))
195+
try s.setObject("Hello", forKey: "string")
182196

183197
do {
184-
let cachedObject = try storage.object(ofType: Int.self, forKey: "string")
185-
XCTAssertEqual(cachedObject, 10)
198+
let intStorage = s.support(transformer: TransformerFactory.forCodable(ofType: Int.self))
199+
let _ = try intStorage.object(forKey: "string")
200+
XCTFail()
186201
} catch {
187202
XCTAssertTrue(error is DecodingError)
188203
}
189204
}
190-
*/
191205
}

0 commit comments

Comments
 (0)