From 65acbc5ecfe9615cff49ed05f644effb10874e1d Mon Sep 17 00:00:00 2001 From: Wolfgang Sourdeau Date: Mon, 23 Apr 2012 18:39:26 +0000 Subject: [PATCH] Monotone-Parent: 389b194bd166895ce122d73e90c04eb48d06a6a1 Monotone-Revision: fbdbaedef2d0b93dc7ac828e0acfde7baccc8f6b Monotone-Author: wsourdeau@inverse.ca Monotone-Date: 2012-04-23T18:39:26 --- Tests/Unit/SOGoTest.h | 6 +++++- Tests/Unit/TestSBJsonParser.m | 7 +++---- 2 files changed, 8 insertions(+), 5 deletions(-) diff --git a/Tests/Unit/SOGoTest.h b/Tests/Unit/SOGoTest.h index 04267181f..927cc27a9 100644 --- a/Tests/Unit/SOGoTest.h +++ b/Tests/Unit/SOGoTest.h @@ -25,6 +25,7 @@ #import #import +#import @class NSArray; @class NSMutableArray; @@ -66,7 +67,10 @@ #define failIf(c) test(!(c)) #define testEquals(a,b) \ - testWithMessage((((a) == (b)) || ([(a) isEqual: (b)])), \ + testWithMessage((((a) == (b)) || ([(a) isEqual: (b)]) \ + || ([(a) isKindOfClass: [NSNumber class]] \ + && [(b) isKindOfClass: [NSNumber class]] \ + && [(NSNumber *) (a) isEqualToNumber: (NSNumber *) (b)])), \ ([NSString stringWithFormat: @"objects '%@' and '%@' differs", (a), (b)])) #define testEqualsWithMessage(a,b,m) \ diff --git a/Tests/Unit/TestSBJsonParser.m b/Tests/Unit/TestSBJsonParser.m index c071b534d..e8c8c139b 100644 --- a/Tests/Unit/TestSBJsonParser.m +++ b/Tests/Unit/TestSBJsonParser.m @@ -70,7 +70,7 @@ - (void) test_parseJSONNumber { SBJsonParser *parser; - NSObject *result; + id result; parser = [SBJsonParser new]; [parser autorelease]; @@ -84,10 +84,9 @@ result = [parser objectWithString: @"[ -1 ]"]; testEquals (result, [NSArray arrayWithObject: [NSNumber numberWithInt: -1]]); - /* TODO: the 2 following fail because NSDecimalNumber does not implement - "compare:" */ result = [parser objectWithString: @"[ 12.3456 ]"]; - testEquals (result, [NSArray arrayWithObject: [NSNumber numberWithDouble: 12.3456]]); + testEquals ([result objectAtIndex: 0], + [NSDecimalNumber decimalNumberWithString: @"12.3456"]); result = [parser objectWithString: @"[ -312.3456 ]"]; testEquals (result, [NSArray arrayWithObject: [NSNumber numberWithDouble: -312.3456]]);