@@ -30,6 +30,10 @@ class TestUserDefaults : XCTestCase {
3030 ( " test_setValue_BoolFromString " , test_setValue_BoolFromString ) ,
3131 ( " test_setValue_IntFromString " , test_setValue_IntFromString ) ,
3232 ( " test_setValue_DoubleFromString " , test_setValue_DoubleFromString ) ,
33+ ( " test_setValue_StringFromBool " , test_setValue_StringFromBool ) ,
34+ ( " test_setValue_StringFromInt " , test_setValue_StringFromInt ) ,
35+ ( " test_setValue_StringFromFloat " , test_setValue_StringFromFloat ) ,
36+ ( " test_setValue_StringFromDouble " , test_setValue_StringFromDouble ) ,
3337 ( " test_volatileDomains " , test_volatileDomains) ,
3438 ( " test_persistentDomain " , test_persistentDomain ) ,
3539 ]
@@ -245,6 +249,42 @@ class TestUserDefaults : XCTestCase {
245249 XCTAssertEqual ( defaults. double ( forKey: " key1 " ) , 12.34 )
246250 }
247251
252+ func test_setValue_StringFromBool( ) {
253+ let defaults = UserDefaults . standard
254+
255+ // Register a bool default value. UserDefaults.string(forKey:) is supposed to return the converted String value
256+ defaults. set ( true , forKey: " key1 " )
257+
258+ XCTAssertEqual ( defaults. string ( forKey: " key1 " ) , " 1 " )
259+ }
260+
261+ func test_setValue_StringFromInt( ) {
262+ let defaults = UserDefaults . standard
263+
264+ // Register a int default value. UserDefaults.string(forKey:) is supposed to return the converted String value
265+ defaults. set ( 42 , forKey: " key1 " )
266+
267+ XCTAssertEqual ( defaults. string ( forKey: " key1 " ) , " 42 " )
268+ }
269+
270+ func test_setValue_StringFromFloat( ) {
271+ let defaults = UserDefaults . standard
272+
273+ // Register a float default value. UserDefaults.string(forKey:) is supposed to return the converted String value
274+ defaults. set ( 42.1 as Float , forKey: " key1 " )
275+
276+ XCTAssertEqual ( defaults. string ( forKey: " key1 " ) , " 42.1 " )
277+ }
278+
279+ func test_setValue_StringFromDouble( ) {
280+ let defaults = UserDefaults . standard
281+
282+ // Register a double default value. UserDefaults.string(forKey:) is supposed to return the converted String value
283+ defaults. set ( 42.1 , forKey: " key1 " )
284+
285+ XCTAssertEqual ( defaults. string ( forKey: " key1 " ) , " 42.1 " )
286+ }
287+
248288 func test_volatileDomains( ) {
249289 let dateKey = " A Date " ,
250290 stringKey = " A String " ,
0 commit comments