@@ -26,6 +26,12 @@ class TestNSNumber : XCTestCase {
26
26
( " test_numberWithShort " , test_numberWithShort ) ,
27
27
( " test_numberWithFloat " , test_numberWithFloat ) ,
28
28
( " test_numberWithDouble " , test_numberWithDouble ) ,
29
+ ( " test_compareNumberWithBool " , test_compareNumberWithBool ) ,
30
+ ( " test_compareNumberWithChar " , test_compareNumberWithChar ) ,
31
+ ( " test_compareNumberWithUnsignedChar " , test_compareNumberWithUnsignedChar ) ,
32
+ ( " test_compareNumberWithShort " , test_compareNumberWithShort ) ,
33
+ ( " test_compareNumberWithFloat " , test_compareNumberWithFloat ) ,
34
+ ( " test_compareNumberWithDouble " , test_compareNumberWithDouble ) ,
29
35
]
30
36
}
31
37
@@ -246,4 +252,116 @@ class TestNSNumber : XCTestCase {
246
252
XCTAssertEqual ( NSNumber ( double: Double ( - 37.5 ) ) . doubleValue, Double ( - 37.5 ) )
247
253
XCTAssertEqual ( NSNumber ( double: Double ( 42.1 ) ) . doubleValue, Double ( 42.1 ) )
248
254
}
249
- }
255
+
256
+ func test_compareNumberWithBool( ) {
257
+ XCTAssertEqual ( NSNumber ( bool: true ) . compare ( NSNumber ( bool: true ) ) , NSComparisonResult . OrderedSame)
258
+ XCTAssertEqual ( NSNumber ( bool: true ) . compare ( NSNumber ( bool: false ) ) , NSComparisonResult . OrderedDescending)
259
+ XCTAssertEqual ( NSNumber ( bool: false ) . compare ( NSNumber ( bool: true ) ) , NSComparisonResult . OrderedAscending)
260
+
261
+ XCTAssertEqual ( NSNumber ( bool: false ) . compare ( NSNumber ( char: 0 ) ) , NSComparisonResult . OrderedSame)
262
+ XCTAssertEqual ( NSNumber ( bool: false ) . compare ( NSNumber ( char: - 1 ) ) , NSComparisonResult . OrderedDescending)
263
+ XCTAssertEqual ( NSNumber ( bool: false ) . compare ( NSNumber ( char: 1 ) ) , NSComparisonResult . OrderedAscending)
264
+
265
+ XCTAssertEqual ( NSNumber ( bool: true ) . compare ( NSNumber ( char: 1 ) ) , NSComparisonResult . OrderedSame)
266
+ XCTAssertEqual ( NSNumber ( bool: true ) . compare ( NSNumber ( char: 0 ) ) , NSComparisonResult . OrderedDescending)
267
+ XCTAssertEqual ( NSNumber ( bool: true ) . compare ( NSNumber ( char: 2 ) ) , NSComparisonResult . OrderedAscending)
268
+
269
+ XCTAssertEqual ( NSNumber ( bool: false ) . compare ( NSNumber ( double: 0 ) ) , NSComparisonResult . OrderedSame)
270
+ XCTAssertEqual ( NSNumber ( bool: false ) . compare ( NSNumber ( double: - 0.1 ) ) , NSComparisonResult . OrderedDescending)
271
+ XCTAssertEqual ( NSNumber ( bool: false ) . compare ( NSNumber ( double: 0.1 ) ) , NSComparisonResult . OrderedAscending)
272
+
273
+ XCTAssertEqual ( NSNumber ( bool: true ) . compare ( NSNumber ( double: 1 ) ) , NSComparisonResult . OrderedSame)
274
+ XCTAssertEqual ( NSNumber ( bool: true ) . compare ( NSNumber ( double: 0.9 ) ) , NSComparisonResult . OrderedDescending)
275
+ XCTAssertEqual ( NSNumber ( bool: true ) . compare ( NSNumber ( double: 1.1 ) ) , NSComparisonResult . OrderedAscending)
276
+ }
277
+
278
+ func test_compareNumberWithChar( ) {
279
+ XCTAssertEqual ( NSNumber ( char: 42 ) . compare ( NSNumber ( char: 42 ) ) , NSComparisonResult . OrderedSame)
280
+ XCTAssertEqual ( NSNumber ( char: 42 ) . compare ( NSNumber ( char: 0 ) ) , NSComparisonResult . OrderedDescending)
281
+ XCTAssertEqual ( NSNumber ( char: - 37 ) . compare ( NSNumber ( char: 16 ) ) , NSComparisonResult . OrderedAscending)
282
+
283
+ XCTAssertEqual ( NSNumber ( char: 1 ) . compare ( NSNumber ( bool: true ) ) , NSComparisonResult . OrderedSame)
284
+ XCTAssertEqual ( NSNumber ( char: 1 ) . compare ( NSNumber ( bool: false ) ) , NSComparisonResult . OrderedDescending)
285
+ XCTAssertEqual ( NSNumber ( char: - 37 ) . compare ( NSNumber ( bool: true ) ) , NSComparisonResult . OrderedAscending)
286
+
287
+ XCTAssertEqual ( NSNumber ( char: 42 ) . compare ( NSNumber ( unsignedChar: 42 ) ) , NSComparisonResult . OrderedSame)
288
+ XCTAssertEqual ( NSNumber ( char: 42 ) . compare ( NSNumber ( unsignedChar: 16 ) ) , NSComparisonResult . OrderedDescending)
289
+ XCTAssertEqual ( NSNumber ( char: - 37 ) . compare ( NSNumber ( unsignedChar: 255 ) ) , NSComparisonResult . OrderedAscending)
290
+
291
+ XCTAssertEqual ( NSNumber ( char: 42 ) . compare ( NSNumber ( float: 42 ) ) , NSComparisonResult . OrderedSame)
292
+ XCTAssertEqual ( NSNumber ( char: - 16 ) . compare ( NSNumber ( float: - 37.5 ) ) , NSComparisonResult . OrderedDescending)
293
+ XCTAssertEqual ( NSNumber ( char: 16 ) . compare ( NSNumber ( float: 16.1 ) ) , NSComparisonResult . OrderedAscending)
294
+ }
295
+
296
+ func test_compareNumberWithUnsignedChar( ) {
297
+ XCTAssertEqual ( NSNumber ( unsignedChar: 42 ) . compare ( NSNumber ( unsignedChar: 42 ) ) , NSComparisonResult . OrderedSame)
298
+ XCTAssertEqual ( NSNumber ( unsignedChar: 42 ) . compare ( NSNumber ( unsignedChar: 0 ) ) , NSComparisonResult . OrderedDescending)
299
+ // XCTAssertEqual(NSNumber(unsignedChar: 42).compare(NSNumber(unsignedChar: 255)), NSComparisonResult.OrderedAscending)
300
+
301
+ XCTAssertEqual ( NSNumber ( unsignedChar: 1 ) . compare ( NSNumber ( bool: true ) ) , NSComparisonResult . OrderedSame)
302
+ XCTAssertEqual ( NSNumber ( unsignedChar: 1 ) . compare ( NSNumber ( bool: false ) ) , NSComparisonResult . OrderedDescending)
303
+ XCTAssertEqual ( NSNumber ( unsignedChar: 0 ) . compare ( NSNumber ( bool: true ) ) , NSComparisonResult . OrderedAscending)
304
+
305
+ XCTAssertEqual ( NSNumber ( unsignedChar: 42 ) . compare ( NSNumber ( short: 42 ) ) , NSComparisonResult . OrderedSame)
306
+ XCTAssertEqual ( NSNumber ( unsignedChar: 0 ) . compare ( NSNumber ( short: - 123 ) ) , NSComparisonResult . OrderedDescending)
307
+ XCTAssertEqual ( NSNumber ( unsignedChar: 255 ) . compare ( NSNumber ( short: 12345 ) ) , NSComparisonResult . OrderedAscending)
308
+
309
+ XCTAssertEqual ( NSNumber ( unsignedChar: 42 ) . compare ( NSNumber ( float: 42 ) ) , NSComparisonResult . OrderedSame)
310
+ XCTAssertEqual ( NSNumber ( unsignedChar: 0 ) . compare ( NSNumber ( float: - 37.5 ) ) , NSComparisonResult . OrderedDescending)
311
+ XCTAssertEqual ( NSNumber ( unsignedChar: 255 ) . compare ( NSNumber ( float: 1234.5 ) ) , NSComparisonResult . OrderedAscending)
312
+ }
313
+
314
+ func test_compareNumberWithShort( ) {
315
+ XCTAssertEqual ( NSNumber ( short: 42 ) . compare ( NSNumber ( short: 42 ) ) , NSComparisonResult . OrderedSame)
316
+ XCTAssertEqual ( NSNumber ( short: 42 ) . compare ( NSNumber ( short: 0 ) ) , NSComparisonResult . OrderedDescending)
317
+ XCTAssertEqual ( NSNumber ( short: - 37 ) . compare ( NSNumber ( short: 12345 ) ) , NSComparisonResult . OrderedAscending)
318
+
319
+ XCTAssertEqual ( NSNumber ( short: 1 ) . compare ( NSNumber ( bool: true ) ) , NSComparisonResult . OrderedSame)
320
+ XCTAssertEqual ( NSNumber ( short: 1 ) . compare ( NSNumber ( bool: false ) ) , NSComparisonResult . OrderedDescending)
321
+ XCTAssertEqual ( NSNumber ( short: 0 ) . compare ( NSNumber ( bool: true ) ) , NSComparisonResult . OrderedAscending)
322
+
323
+ XCTAssertEqual ( NSNumber ( short: 42 ) . compare ( NSNumber ( unsignedChar: 42 ) ) , NSComparisonResult . OrderedSame)
324
+ XCTAssertEqual ( NSNumber ( short: 42 ) . compare ( NSNumber ( unsignedChar: 0 ) ) , NSComparisonResult . OrderedDescending)
325
+ XCTAssertEqual ( NSNumber ( short: - 37 ) . compare ( NSNumber ( unsignedChar: 255 ) ) , NSComparisonResult . OrderedAscending)
326
+
327
+ XCTAssertEqual ( NSNumber ( short: 42 ) . compare ( NSNumber ( float: 42 ) ) , NSComparisonResult . OrderedSame)
328
+ XCTAssertEqual ( NSNumber ( short: 0 ) . compare ( NSNumber ( float: - 37.5 ) ) , NSComparisonResult . OrderedDescending)
329
+ XCTAssertEqual ( NSNumber ( short: 255 ) . compare ( NSNumber ( float: 1234.5 ) ) , NSComparisonResult . OrderedAscending)
330
+ }
331
+
332
+ func test_compareNumberWithFloat( ) {
333
+ XCTAssertEqual ( NSNumber ( float: 42 ) . compare ( NSNumber ( float: 42 ) ) , NSComparisonResult . OrderedSame)
334
+ XCTAssertEqual ( NSNumber ( float: 42 ) . compare ( NSNumber ( float: 0 ) ) , NSComparisonResult . OrderedDescending)
335
+ XCTAssertEqual ( NSNumber ( float: - 37 ) . compare ( NSNumber ( float: 12345 ) ) , NSComparisonResult . OrderedAscending)
336
+
337
+ XCTAssertEqual ( NSNumber ( float: 1 ) . compare ( NSNumber ( bool: true ) ) , NSComparisonResult . OrderedSame)
338
+ XCTAssertEqual ( NSNumber ( float: 0.1 ) . compare ( NSNumber ( bool: false ) ) , NSComparisonResult . OrderedDescending)
339
+ XCTAssertEqual ( NSNumber ( float: 0.9 ) . compare ( NSNumber ( bool: true ) ) , NSComparisonResult . OrderedAscending)
340
+
341
+ XCTAssertEqual ( NSNumber ( float: 42 ) . compare ( NSNumber ( unsignedChar: 42 ) ) , NSComparisonResult . OrderedSame)
342
+ XCTAssertEqual ( NSNumber ( float: 0.1 ) . compare ( NSNumber ( unsignedChar: 0 ) ) , NSComparisonResult . OrderedDescending)
343
+ XCTAssertEqual ( NSNumber ( float: - 254.9 ) . compare ( NSNumber ( unsignedChar: 255 ) ) , NSComparisonResult . OrderedAscending)
344
+
345
+ XCTAssertEqual ( NSNumber ( float: 42 ) . compare ( NSNumber ( double: 42 ) ) , NSComparisonResult . OrderedSame)
346
+ XCTAssertEqual ( NSNumber ( float: 0 ) . compare ( NSNumber ( double: - 37.5 ) ) , NSComparisonResult . OrderedDescending)
347
+ XCTAssertEqual ( NSNumber ( float: - 37.5 ) . compare ( NSNumber ( double: 1234.5 ) ) , NSComparisonResult . OrderedAscending)
348
+ }
349
+
350
+ func test_compareNumberWithDouble( ) {
351
+ XCTAssertEqual ( NSNumber ( double: 42 ) . compare ( NSNumber ( double: 42 ) ) , NSComparisonResult . OrderedSame)
352
+ XCTAssertEqual ( NSNumber ( double: 42 ) . compare ( NSNumber ( double: 0 ) ) , NSComparisonResult . OrderedDescending)
353
+ XCTAssertEqual ( NSNumber ( double: - 37 ) . compare ( NSNumber ( double: 12345 ) ) , NSComparisonResult . OrderedAscending)
354
+
355
+ XCTAssertEqual ( NSNumber ( double: 1 ) . compare ( NSNumber ( bool: true ) ) , NSComparisonResult . OrderedSame)
356
+ XCTAssertEqual ( NSNumber ( double: 0.1 ) . compare ( NSNumber ( bool: false ) ) , NSComparisonResult . OrderedDescending)
357
+ XCTAssertEqual ( NSNumber ( double: 0.9 ) . compare ( NSNumber ( bool: true ) ) , NSComparisonResult . OrderedAscending)
358
+
359
+ XCTAssertEqual ( NSNumber ( double: 42 ) . compare ( NSNumber ( unsignedChar: 42 ) ) , NSComparisonResult . OrderedSame)
360
+ XCTAssertEqual ( NSNumber ( double: 0.1 ) . compare ( NSNumber ( unsignedChar: 0 ) ) , NSComparisonResult . OrderedDescending)
361
+ XCTAssertEqual ( NSNumber ( double: - 254.9 ) . compare ( NSNumber ( unsignedChar: 255 ) ) , NSComparisonResult . OrderedAscending)
362
+
363
+ XCTAssertEqual ( NSNumber ( double: 42 ) . compare ( NSNumber ( float: 42 ) ) , NSComparisonResult . OrderedSame)
364
+ XCTAssertEqual ( NSNumber ( double: 0 ) . compare ( NSNumber ( float: - 37.5 ) ) , NSComparisonResult . OrderedDescending)
365
+ XCTAssertEqual ( NSNumber ( double: - 37.5 ) . compare ( NSNumber ( float: 1234.5 ) ) , NSComparisonResult . OrderedAscending)
366
+ }
367
+ }
0 commit comments