@@ -1015,21 +1015,100 @@ class TestNSNumber : XCTestCase {
1015
1015
1016
1016
1017
1017
func test_description( ) {
1018
- let nsnumber : NSNumber = 1000
1019
- let expectedDesc = " 1000 "
1020
- XCTAssertEqual ( nsnumber. description, expectedDesc, " expected \( expectedDesc) but received \( nsnumber. description) " )
1018
+ XCTAssertEqual ( NSNumber ( value: 1000 ) . description, " 1000 " )
1019
+ XCTAssertEqual ( NSNumber ( value: 0.001 ) . description, " 0.001 " )
1020
+
1021
+ XCTAssertEqual ( NSNumber ( value: Int8 . min) . description, " -128 " )
1022
+ XCTAssertEqual ( NSNumber ( value: Int8 . max) . description, " 127 " )
1023
+ XCTAssertEqual ( NSNumber ( value: Int16 . min) . description, " -32768 " )
1024
+ XCTAssertEqual ( NSNumber ( value: Int16 . max) . description, " 32767 " )
1025
+ XCTAssertEqual ( NSNumber ( value: Int32 . min) . description, " -2147483648 " )
1026
+ XCTAssertEqual ( NSNumber ( value: Int32 . max) . description, " 2147483647 " )
1027
+ XCTAssertEqual ( NSNumber ( value: Int64 . min) . description, " -9223372036854775808 " )
1028
+ XCTAssertEqual ( NSNumber ( value: Int64 . max) . description, " 9223372036854775807 " )
1029
+
1030
+ XCTAssertEqual ( NSNumber ( value: UInt8 . min) . description, " 0 " )
1031
+ XCTAssertEqual ( NSNumber ( value: UInt8 . max) . description, " 255 " )
1032
+ XCTAssertEqual ( NSNumber ( value: UInt16 . min) . description, " 0 " )
1033
+ XCTAssertEqual ( NSNumber ( value: UInt16 . max) . description, " 65535 " )
1034
+ XCTAssertEqual ( NSNumber ( value: UInt32 . min) . description, " 0 " )
1035
+ XCTAssertEqual ( NSNumber ( value: UInt32 . max) . description, " 4294967295 " )
1036
+ XCTAssertEqual ( NSNumber ( value: UInt64 . min) . description, " 0 " )
1037
+ XCTAssertEqual ( NSNumber ( value: UInt64 . max) . description, " 18446744073709551615 " )
1021
1038
}
1022
-
1039
+
1023
1040
func test_descriptionWithLocale( ) {
1024
- let nsnumber : NSNumber = 1000
1025
- let values : Dictionary = [
1026
- Locale ( identifier: " en_GB " ) : " 1,000 " ,
1027
- Locale ( identifier: " de_DE " ) : " 1.000 " ,
1028
- ]
1029
- for (locale, expectedDesc) in values {
1030
- let receivedDesc = nsnumber. description ( withLocale: locale)
1031
- XCTAssertEqual ( receivedDesc, expectedDesc, " expected \( expectedDesc) but received \( receivedDesc) " )
1032
- }
1041
+ // nil Locale
1042
+ XCTAssertEqual ( NSNumber ( value: 1000 ) . description ( withLocale: nil ) , " 1000 " )
1043
+ XCTAssertEqual ( NSNumber ( value: 0.001 ) . description ( withLocale: nil ) , " 0.001 " )
1044
+
1045
+ XCTAssertEqual ( NSNumber ( value: Int8 . min) . description ( withLocale: nil ) , " -128 " )
1046
+ XCTAssertEqual ( NSNumber ( value: Int8 . max) . description ( withLocale: nil ) , " 127 " )
1047
+ XCTAssertEqual ( NSNumber ( value: Int16 . min) . description ( withLocale: nil ) , " -32768 " )
1048
+ XCTAssertEqual ( NSNumber ( value: Int16 . max) . description ( withLocale: nil ) , " 32767 " )
1049
+ XCTAssertEqual ( NSNumber ( value: Int32 . min) . description ( withLocale: nil ) , " -2147483648 " )
1050
+ XCTAssertEqual ( NSNumber ( value: Int32 . max) . description ( withLocale: nil ) , " 2147483647 " )
1051
+ XCTAssertEqual ( NSNumber ( value: Int64 . min) . description ( withLocale: nil ) , " -9223372036854775808 " )
1052
+ XCTAssertEqual ( NSNumber ( value: Int64 . max) . description ( withLocale: nil ) , " 9223372036854775807 " )
1053
+
1054
+ XCTAssertEqual ( NSNumber ( value: UInt8 . min) . description ( withLocale: nil ) , " 0 " )
1055
+ XCTAssertEqual ( NSNumber ( value: UInt8 . max) . description ( withLocale: nil ) , " 255 " )
1056
+ XCTAssertEqual ( NSNumber ( value: UInt16 . min) . description ( withLocale: nil ) , " 0 " )
1057
+ XCTAssertEqual ( NSNumber ( value: UInt16 . max) . description ( withLocale: nil ) , " 65535 " )
1058
+ XCTAssertEqual ( NSNumber ( value: UInt32 . min) . description ( withLocale: nil ) , " 0 " )
1059
+ XCTAssertEqual ( NSNumber ( value: UInt32 . max) . description ( withLocale: nil ) , " 4294967295 " )
1060
+ XCTAssertEqual ( NSNumber ( value: UInt64 . min) . description ( withLocale: nil ) , " 0 " )
1061
+ XCTAssertEqual ( NSNumber ( value: UInt64 . max) . description ( withLocale: nil ) , " 18446744073709551615 " )
1062
+
1063
+ // en_GB Locale
1064
+ XCTAssertEqual ( NSNumber ( value: 1000 ) . description ( withLocale: Locale ( identifier: " en_GB " ) ) , " 1,000 " )
1065
+ XCTAssertEqual ( NSNumber ( value: 0.001 ) . description ( withLocale: Locale ( identifier: " en_GB " ) ) , " 0.001 " )
1066
+
1067
+ XCTAssertEqual ( NSNumber ( value: Int8 . min) . description ( withLocale: Locale ( identifier: " en_GB " ) ) , " -128 " )
1068
+ XCTAssertEqual ( NSNumber ( value: Int8 . max) . description ( withLocale: Locale ( identifier: " en_GB " ) ) , " 127 " )
1069
+ XCTAssertEqual ( NSNumber ( value: Int16 . min) . description ( withLocale: Locale ( identifier: " en_GB " ) ) , " -32,768 " )
1070
+ XCTAssertEqual ( NSNumber ( value: Int16 . max) . description ( withLocale: Locale ( identifier: " en_GB " ) ) , " 32,767 " )
1071
+ XCTAssertEqual ( NSNumber ( value: Int32 . min) . description ( withLocale: Locale ( identifier: " en_GB " ) ) , " -2,147,483,648 " )
1072
+ XCTAssertEqual ( NSNumber ( value: Int32 . max) . description ( withLocale: Locale ( identifier: " en_GB " ) ) , " 2,147,483,647 " )
1073
+ XCTAssertEqual ( NSNumber ( value: Int64 . min) . description ( withLocale: Locale ( identifier: " en_GB " ) ) , " -9,223,372,036,854,775,808 " )
1074
+ XCTAssertEqual ( NSNumber ( value: Int64 . max) . description ( withLocale: Locale ( identifier: " en_GB " ) ) , " 9,223,372,036,854,775,807 " )
1075
+
1076
+ XCTAssertEqual ( NSNumber ( value: UInt8 . min) . description ( withLocale: Locale ( identifier: " en_GB " ) ) , " 0 " )
1077
+ XCTAssertEqual ( NSNumber ( value: UInt8 . max) . description ( withLocale: Locale ( identifier: " en_GB " ) ) , " 255 " )
1078
+ XCTAssertEqual ( NSNumber ( value: UInt16 . min) . description ( withLocale: Locale ( identifier: " en_GB " ) ) , " 0 " )
1079
+ XCTAssertEqual ( NSNumber ( value: UInt16 . max) . description ( withLocale: Locale ( identifier: " en_GB " ) ) , " 65,535 " )
1080
+ XCTAssertEqual ( NSNumber ( value: UInt32 . min) . description ( withLocale: Locale ( identifier: " en_GB " ) ) , " 0 " )
1081
+ XCTAssertEqual ( NSNumber ( value: UInt32 . max) . description ( withLocale: Locale ( identifier: " en_GB " ) ) , " 4,294,967,295 " )
1082
+ XCTAssertEqual ( NSNumber ( value: UInt64 . min) . description ( withLocale: Locale ( identifier: " en_GB " ) ) , " 0 " )
1083
+
1084
+ // This is the correct value but currently buggy and the locale is not used
1085
+ // XCTAssertEqual(NSNumber(value: UInt64.max).description(withLocale: Locale(identifier: "en_GB")), "18,446,744,073,709,551,615")
1086
+ XCTAssertEqual ( NSNumber ( value: UInt64 . max) . description ( withLocale: Locale ( identifier: " en_GB " ) ) , " 18446744073709551615 " )
1087
+
1088
+ // de_DE Locale
1089
+ XCTAssertEqual ( NSNumber ( value: 1000 ) . description ( withLocale: Locale ( identifier: " de_DE " ) ) , " 1.000 " )
1090
+ XCTAssertEqual ( NSNumber ( value: 0.001 ) . description ( withLocale: Locale ( identifier: " de_DE " ) ) , " 0,001 " )
1091
+
1092
+ XCTAssertEqual ( NSNumber ( value: Int8 . min) . description ( withLocale: Locale ( identifier: " de_DE " ) ) , " -128 " )
1093
+ XCTAssertEqual ( NSNumber ( value: Int8 . max) . description ( withLocale: Locale ( identifier: " de_DE " ) ) , " 127 " )
1094
+ XCTAssertEqual ( NSNumber ( value: Int16 . min) . description ( withLocale: Locale ( identifier: " de_DE " ) ) , " -32.768 " )
1095
+ XCTAssertEqual ( NSNumber ( value: Int16 . max) . description ( withLocale: Locale ( identifier: " de_DE " ) ) , " 32.767 " )
1096
+ XCTAssertEqual ( NSNumber ( value: Int32 . min) . description ( withLocale: Locale ( identifier: " de_DE " ) ) , " -2.147.483.648 " )
1097
+ XCTAssertEqual ( NSNumber ( value: Int32 . max) . description ( withLocale: Locale ( identifier: " de_DE " ) ) , " 2.147.483.647 " )
1098
+ XCTAssertEqual ( NSNumber ( value: Int64 . min) . description ( withLocale: Locale ( identifier: " de_DE " ) ) , " -9.223.372.036.854.775.808 " )
1099
+ XCTAssertEqual ( NSNumber ( value: Int64 . max) . description ( withLocale: Locale ( identifier: " de_DE " ) ) , " 9.223.372.036.854.775.807 " )
1100
+
1101
+ XCTAssertEqual ( NSNumber ( value: UInt8 . min) . description ( withLocale: Locale ( identifier: " de_DE " ) ) , " 0 " )
1102
+ XCTAssertEqual ( NSNumber ( value: UInt8 . max) . description ( withLocale: Locale ( identifier: " de_DE " ) ) , " 255 " )
1103
+ XCTAssertEqual ( NSNumber ( value: UInt16 . min) . description ( withLocale: Locale ( identifier: " de_DE " ) ) , " 0 " )
1104
+ XCTAssertEqual ( NSNumber ( value: UInt16 . max) . description ( withLocale: Locale ( identifier: " de_DE " ) ) , " 65.535 " )
1105
+ XCTAssertEqual ( NSNumber ( value: UInt32 . min) . description ( withLocale: Locale ( identifier: " de_DE " ) ) , " 0 " )
1106
+ XCTAssertEqual ( NSNumber ( value: UInt32 . max) . description ( withLocale: Locale ( identifier: " de_DE " ) ) , " 4.294.967.295 " )
1107
+ XCTAssertEqual ( NSNumber ( value: UInt64 . min) . description ( withLocale: Locale ( identifier: " de_DE " ) ) , " 0 " )
1108
+
1109
+ // This is the correct value but currently buggy and the locale is not used
1110
+ //XCTAssertEqual(NSNumber(value: UInt64.max).description(withLocale: Locale(identifier: "de_DE")), "18.446.744.073.709.551.615")
1111
+ XCTAssertEqual ( NSNumber ( value: UInt64 . max) . description ( withLocale: Locale ( identifier: " de_DE " ) ) , " 18446744073709551615 " )
1033
1112
}
1034
1113
1035
1114
func test_objCType( ) {
0 commit comments