@@ -28,6 +28,9 @@ class TestUserDefaults : XCTestCase {
2828 ( " test_setValue_NSData " , test_setValue_NSData ) ,
2929 ( " test_setValue_Data " , test_setValue_Data ) ,
3030 ( " test_setValue_BoolFromString " , test_setValue_BoolFromString ) ,
31+ ( " test_setValue_IntFromBool " , test_setValue_IntFromBool ) ,
32+ ( " test_setValue_IntFromFloat " , test_setValue_IntFromFloat ) ,
33+ ( " test_setValue_IntFromDouble " , test_setValue_IntFromDouble ) ,
3134 ( " test_setValue_IntFromString " , test_setValue_IntFromString ) ,
3235 ( " test_setValue_DoubleFromString " , test_setValue_DoubleFromString ) ,
3336 ( " test_setValue_StringFromBool " , test_setValue_StringFromBool ) ,
@@ -231,6 +234,33 @@ class TestUserDefaults : XCTestCase {
231234 XCTAssertEqual ( defaults. bool ( forKey: " key1 " ) , true )
232235 }
233236
237+ func test_setValue_IntFromBool( ) {
238+ let defaults = UserDefaults . standard
239+
240+ // Register an int default value as a boolean. UserDefaults.integer(forKey:) is supposed to return the converted Int value
241+ defaults. set ( true , forKey: " key1 " )
242+
243+ XCTAssertEqual ( defaults. integer ( forKey: " key1 " ) , 1 )
244+ }
245+
246+ func test_setValue_IntFromFloat( ) {
247+ let defaults = UserDefaults . standard
248+
249+ // Register an int default value as a float. UserDefaults.integer(forKey:) is supposed to return the converted Int value
250+ defaults. set ( 12.34 as Float , forKey: " key1 " )
251+
252+ XCTAssertEqual ( defaults. integer ( forKey: " key1 " ) , 12 )
253+ }
254+
255+ func test_setValue_IntFromDouble( ) {
256+ let defaults = UserDefaults . standard
257+
258+ // Register an int default value as a double. UserDefaults.integer(forKey:) is supposed to return the converted Int value
259+ defaults. set ( 12.34 , forKey: " key1 " )
260+
261+ XCTAssertEqual ( defaults. integer ( forKey: " key1 " ) , 12 )
262+ }
263+
234264 func test_setValue_IntFromString( ) {
235265 let defaults = UserDefaults . standard
236266
0 commit comments