@@ -44,6 +44,7 @@ class TestNSNumber : XCTestCase {
44
44
( " test_descriptionWithLocale " , test_descriptionWithLocale ) ,
45
45
( " test_objCType " , test_objCType ) ,
46
46
( " test_stringValue " , test_stringValue) ,
47
+ ( " test_Equals " , test_Equals) ,
47
48
]
48
49
}
49
50
@@ -1087,4 +1088,50 @@ class TestNSNumber : XCTestCase {
1087
1088
XCTAssertEqual ( NSNumber ( value: Int64 . max) . stringValue, " 9223372036854775807 " )
1088
1089
XCTAssertEqual ( NSNumber ( value: Int64 . max - 1 ) . stringValue, " 9223372036854775806 " )
1089
1090
}
1091
+
1092
+ func test_Equals( ) {
1093
+ // Booleans: false only equals 0, true only equals 1
1094
+ XCTAssertTrue ( NSNumber ( value: true ) == NSNumber ( value: true ) )
1095
+ XCTAssertTrue ( NSNumber ( value: true ) == NSNumber ( value: 1 ) )
1096
+ XCTAssertTrue ( NSNumber ( value: true ) == NSNumber ( value: Float ( 1 ) ) )
1097
+ XCTAssertTrue ( NSNumber ( value: true ) == NSNumber ( value: Double ( 1 ) ) )
1098
+ XCTAssertTrue ( NSNumber ( value: true ) == NSNumber ( value: Int8 ( 1 ) ) )
1099
+ XCTAssertTrue ( NSNumber ( value: true ) != NSNumber ( value: false ) )
1100
+ XCTAssertTrue ( NSNumber ( value: true ) != NSNumber ( value: Int8 ( - 1 ) ) )
1101
+ XCTAssertTrue ( NSNumber ( value: true ) != NSNumber ( value: Float ( 1.01 ) ) )
1102
+ XCTAssertTrue ( NSNumber ( value: true ) != NSNumber ( value: Double ( 1234.56 ) ) )
1103
+ XCTAssertTrue ( NSNumber ( value: true ) != NSNumber ( value: 2 ) )
1104
+ XCTAssertTrue ( NSNumber ( value: true ) != NSNumber ( value: Int . max) )
1105
+ XCTAssertTrue ( NSNumber ( value: false ) == NSNumber ( value: false ) )
1106
+ XCTAssertTrue ( NSNumber ( value: false ) == NSNumber ( value: 0 ) )
1107
+ XCTAssertTrue ( NSNumber ( value: false ) == NSNumber ( value: Float ( 0 ) ) )
1108
+ XCTAssertTrue ( NSNumber ( value: false ) == NSNumber ( value: Double ( 0 ) ) )
1109
+ XCTAssertTrue ( NSNumber ( value: false ) == NSNumber ( value: Int8 ( 0 ) ) )
1110
+ XCTAssertTrue ( NSNumber ( value: false ) == NSNumber ( value: UInt64 ( 0 ) ) )
1111
+ XCTAssertTrue ( NSNumber ( value: false ) != NSNumber ( value: 1 ) )
1112
+ XCTAssertTrue ( NSNumber ( value: false ) != NSNumber ( value: 2 ) )
1113
+ XCTAssertTrue ( NSNumber ( value: false ) != NSNumber ( value: Int . max) )
1114
+
1115
+ XCTAssertTrue ( NSNumber ( value: Int8 ( - 1 ) ) == NSNumber ( value: Int16 ( - 1 ) ) )
1116
+ XCTAssertTrue ( NSNumber ( value: Int16 ( - 1 ) ) == NSNumber ( value: Int32 ( - 1 ) ) )
1117
+ XCTAssertTrue ( NSNumber ( value: Int32 ( - 1 ) ) == NSNumber ( value: Int64 ( - 1 ) ) )
1118
+ XCTAssertTrue ( NSNumber ( value: Int8 . max) != NSNumber ( value: Int16 . max) )
1119
+ XCTAssertTrue ( NSNumber ( value: Int16 . max) != NSNumber ( value: Int32 . max) )
1120
+ XCTAssertTrue ( NSNumber ( value: Int32 . max) != NSNumber ( value: Int64 . max) )
1121
+ XCTAssertTrue ( NSNumber ( value: UInt8 . min) == NSNumber ( value: UInt16 . min) )
1122
+ XCTAssertTrue ( NSNumber ( value: UInt16 . min) == NSNumber ( value: UInt32 . min) )
1123
+ XCTAssertTrue ( NSNumber ( value: UInt32 . min) == NSNumber ( value: UInt64 . min) )
1124
+ XCTAssertTrue ( NSNumber ( value: UInt8 . max) != NSNumber ( value: UInt16 . max) )
1125
+ XCTAssertTrue ( NSNumber ( value: UInt16 . max) != NSNumber ( value: UInt32 . max) )
1126
+ XCTAssertTrue ( NSNumber ( value: UInt32 . max) != NSNumber ( value: UInt64 . max) )
1127
+ XCTAssertTrue ( NSNumber ( value: Int8 ( 0 ) ) == NSNumber ( value: UInt16 ( 0 ) ) )
1128
+ XCTAssertTrue ( NSNumber ( value: UInt16 ( 0 ) ) == NSNumber ( value: Int32 ( 0 ) ) )
1129
+ XCTAssertTrue ( NSNumber ( value: Int32 ( 0 ) ) == NSNumber ( value: UInt64 ( 0 ) ) )
1130
+ XCTAssertTrue ( NSNumber ( value: Int ( 0 ) ) == NSNumber ( value: UInt ( 0 ) ) )
1131
+ XCTAssertTrue ( NSNumber ( value: Int8 . min) == NSNumber ( value: Float ( - 128 ) ) )
1132
+ XCTAssertTrue ( NSNumber ( value: Int8 . max) == NSNumber ( value: Double ( 127 ) ) )
1133
+ XCTAssertTrue ( NSNumber ( value: UInt16 . min) == NSNumber ( value: Float ( 0 ) ) )
1134
+ XCTAssertTrue ( NSNumber ( value: UInt16 . max) == NSNumber ( value: Double ( 65535 ) ) )
1135
+ XCTAssertTrue ( NSNumber ( value: 1.1 ) != NSNumber ( value: Int64 ( 1 ) ) )
1136
+ }
1090
1137
}
0 commit comments