@@ -43,6 +43,7 @@ class TestNSNumber : XCTestCase {
43
43
( " test_description " , test_description ) ,
44
44
( " test_descriptionWithLocale " , test_descriptionWithLocale ) ,
45
45
( " test_objCType " , test_objCType ) ,
46
+ ( " test_stringValue " , test_stringValue) ,
46
47
]
47
48
}
48
49
@@ -1019,4 +1020,71 @@ class TestNSNumber : XCTestCase {
1019
1020
XCTAssertEqual ( " f " /* 0x66 */, objCType ( NSNumber ( value: Float . greatestFiniteMagnitude) ) )
1020
1021
XCTAssertEqual ( " d " /* 0x64 */, objCType ( NSNumber ( value: Double . greatestFiniteMagnitude) ) )
1021
1022
}
1023
+
1024
+ func test_stringValue( ) {
1025
+
1026
+ if UInt . max == UInt32 . max {
1027
+ XCTAssertEqual ( NSNumber ( value: UInt . min) . stringValue, " 0 " )
1028
+ XCTAssertEqual ( NSNumber ( value: UInt . min + 1 ) . stringValue, " 1 " )
1029
+ XCTAssertEqual ( NSNumber ( value: UInt . max) . stringValue, " 4294967295 " )
1030
+ XCTAssertEqual ( NSNumber ( value: UInt . max - 1 ) . stringValue, " 4294967294 " )
1031
+ } else if UInt . max == UInt64 . max {
1032
+ XCTAssertEqual ( NSNumber ( value: UInt . min) . stringValue, " 0 " )
1033
+ XCTAssertEqual ( NSNumber ( value: UInt . min + 1 ) . stringValue, " 1 " )
1034
+ XCTAssertEqual ( NSNumber ( value: UInt . max) . stringValue, " 18446744073709551615 " )
1035
+ XCTAssertEqual ( NSNumber ( value: UInt . max - 1 ) . stringValue, " 18446744073709551614 " )
1036
+ }
1037
+
1038
+ XCTAssertEqual ( NSNumber ( value: UInt8 . min) . stringValue, " 0 " )
1039
+ XCTAssertEqual ( NSNumber ( value: UInt8 . min + 1 ) . stringValue, " 1 " )
1040
+ XCTAssertEqual ( NSNumber ( value: UInt8 . max) . stringValue, " 255 " )
1041
+ XCTAssertEqual ( NSNumber ( value: UInt8 . max - 1 ) . stringValue, " 254 " )
1042
+
1043
+ XCTAssertEqual ( NSNumber ( value: UInt16 . min) . stringValue, " 0 " )
1044
+ XCTAssertEqual ( NSNumber ( value: UInt16 . min + 1 ) . stringValue, " 1 " )
1045
+ XCTAssertEqual ( NSNumber ( value: UInt16 . max) . stringValue, " 65535 " )
1046
+ XCTAssertEqual ( NSNumber ( value: UInt16 . max - 1 ) . stringValue, " 65534 " )
1047
+
1048
+ XCTAssertEqual ( NSNumber ( value: UInt32 . min) . stringValue, " 0 " )
1049
+ XCTAssertEqual ( NSNumber ( value: UInt32 . min + 1 ) . stringValue, " 1 " )
1050
+ XCTAssertEqual ( NSNumber ( value: UInt32 . max) . stringValue, " 4294967295 " )
1051
+ XCTAssertEqual ( NSNumber ( value: UInt32 . max - 1 ) . stringValue, " 4294967294 " )
1052
+
1053
+ XCTAssertEqual ( NSNumber ( value: UInt64 . min) . stringValue, " 0 " )
1054
+ XCTAssertEqual ( NSNumber ( value: UInt64 . min + 1 ) . stringValue, " 1 " )
1055
+ XCTAssertEqual ( NSNumber ( value: UInt64 . max) . stringValue, " 18446744073709551615 " )
1056
+ XCTAssertEqual ( NSNumber ( value: UInt64 . max - 1 ) . stringValue, " 18446744073709551614 " )
1057
+
1058
+ if Int . max == Int32 . max {
1059
+ XCTAssertEqual ( NSNumber ( value: Int . min) . stringValue, " -2147483648 " )
1060
+ XCTAssertEqual ( NSNumber ( value: Int . min + 1 ) . stringValue, " -2147483647 " )
1061
+ XCTAssertEqual ( NSNumber ( value: Int . max) . stringValue, " 2147483647 " )
1062
+ XCTAssertEqual ( NSNumber ( value: Int . max - 1 ) . stringValue, " 2147483646 " )
1063
+ } else if Int . max == Int64 . max {
1064
+ XCTAssertEqual ( NSNumber ( value: Int . min) . stringValue, " -9223372036854775808 " )
1065
+ XCTAssertEqual ( NSNumber ( value: Int . min + 1 ) . stringValue, " -9223372036854775807 " )
1066
+ XCTAssertEqual ( NSNumber ( value: Int . max) . stringValue, " 9223372036854775807 " )
1067
+ XCTAssertEqual ( NSNumber ( value: Int . max - 1 ) . stringValue, " 9223372036854775806 " )
1068
+ }
1069
+
1070
+ XCTAssertEqual ( NSNumber ( value: Int8 . min) . stringValue, " -128 " )
1071
+ XCTAssertEqual ( NSNumber ( value: Int8 . min + 1 ) . stringValue, " -127 " )
1072
+ XCTAssertEqual ( NSNumber ( value: Int8 . max) . stringValue, " 127 " )
1073
+ XCTAssertEqual ( NSNumber ( value: Int8 . max - 1 ) . stringValue, " 126 " )
1074
+
1075
+ XCTAssertEqual ( NSNumber ( value: Int16 . min) . stringValue, " -32768 " )
1076
+ XCTAssertEqual ( NSNumber ( value: Int16 . min + 1 ) . stringValue, " -32767 " )
1077
+ XCTAssertEqual ( NSNumber ( value: Int16 . max) . stringValue, " 32767 " )
1078
+ XCTAssertEqual ( NSNumber ( value: Int16 . max - 1 ) . stringValue, " 32766 " )
1079
+
1080
+ XCTAssertEqual ( NSNumber ( value: Int32 . min) . stringValue, " -2147483648 " )
1081
+ XCTAssertEqual ( NSNumber ( value: Int32 . min + 1 ) . stringValue, " -2147483647 " )
1082
+ XCTAssertEqual ( NSNumber ( value: Int32 . max) . stringValue, " 2147483647 " )
1083
+ XCTAssertEqual ( NSNumber ( value: Int32 . max - 1 ) . stringValue, " 2147483646 " )
1084
+
1085
+ XCTAssertEqual ( NSNumber ( value: Int64 . min) . stringValue, " -9223372036854775808 " )
1086
+ XCTAssertEqual ( NSNumber ( value: Int64 . min + 1 ) . stringValue, " -9223372036854775807 " )
1087
+ XCTAssertEqual ( NSNumber ( value: Int64 . max) . stringValue, " 9223372036854775807 " )
1088
+ XCTAssertEqual ( NSNumber ( value: Int64 . max - 1 ) . stringValue, " 9223372036854775806 " )
1089
+ }
1022
1090
}
0 commit comments