@@ -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