From 1529e7ec4eef728f4e198faa7505b40ce5f63105 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jes=C3=BAs=20Garc=C3=ADa=20S=C3=A1ez?= Date: Tue, 15 Dec 2015 17:34:07 +0100 Subject: [PATCH] unittest: compare properly decimal numbers --- Tests/Unit/TestSBJsonParser.m | 18 ++++++++++++------ 1 file changed, 12 insertions(+), 6 deletions(-) diff --git a/Tests/Unit/TestSBJsonParser.m b/Tests/Unit/TestSBJsonParser.m index e8c8c139b..1d7831cbd 100644 --- a/Tests/Unit/TestSBJsonParser.m +++ b/Tests/Unit/TestSBJsonParser.m @@ -21,6 +21,7 @@ */ #import +#import #import #import @@ -71,6 +72,8 @@ { SBJsonParser *parser; id result; + NSDecimalNumber *obtained, *expected; + NSDictionary *locale; parser = [SBJsonParser new]; [parser autorelease]; @@ -80,17 +83,20 @@ result = [parser objectWithString: @"[ 0 ]"]; testEquals (result, [NSArray arrayWithObject: [NSNumber numberWithInt: 0]]); - + result = [parser objectWithString: @"[ -1 ]"]; testEquals (result, [NSArray arrayWithObject: [NSNumber numberWithInt: -1]]); - + + locale = [NSDictionary dictionaryWithObject: @"." forKey: NSLocaleDecimalSeparator]; result = [parser objectWithString: @"[ 12.3456 ]"]; - testEquals ([result objectAtIndex: 0], - [NSDecimalNumber decimalNumberWithString: @"12.3456"]); + obtained = [result objectAtIndex: 0]; + expected = [NSDecimalNumber decimalNumberWithString: @"12.3456" locale: locale]; + test ([obtained compare: expected] == NSOrderedSame); result = [parser objectWithString: @"[ -312.3456 ]"]; - testEquals (result, [NSArray arrayWithObject: [NSNumber numberWithDouble: -312.3456]]); + obtained = [result objectAtIndex: 0]; + expected = [NSDecimalNumber decimalNumberWithString: @"-312.3456" locale: locale]; + test ([obtained compare: expected] == NSOrderedSame); } @end -