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