add rounding test

git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@37626 72102866-910b-0410-8b05-ffd578937521
This commit is contained in:
rfm 2014-01-21 13:51:54 +00:00
parent d5e6564198
commit 44a8414812

View file

@ -0,0 +1,42 @@
#import "ObjectTesting.h"
#import <Foundation/NSAutoreleasePool.h>
#import <Foundation/NSPropertyList.h>
#import <Foundation/NSValue.h>
#import <Foundation/NSDecimalNumber.h>
#include <stdlib.h>
#include <limits.h>
int main()
{
START_SET("NSDecimalNumber")
NSDecimalNumberHandler *handler;
NSDecimalNumber *n1;
NSDecimalNumber *n2;
NSString *s1;
NSString *s2;
handler = [NSDecimalNumberHandler alloc];
handler = [[handler initWithRoundingMode: NSRoundPlain
scale: 2
raiseOnExactness: NO
raiseOnOverflow: NO
raiseOnUnderflow: NO
raiseOnDivideByZero: NO] autorelease];
s1 = [NSString stringWithFormat: @"%0.2f", 0.009];
n1 = [NSDecimalNumber decimalNumberWithString: @"0.009"];
n2 = [n1 decimalNumberByRoundingAccordingToBehavior: handler];
s2 = [n2 description];
PASS_EQUAL(s1, s2, "rounding 0.009");
s1 = [NSString stringWithFormat: @"%0.2f", 0.009];
n1 = [NSDecimalNumber decimalNumberWithString: @"0.009"];
n2 = [n1 decimalNumberByRoundingAccordingToBehavior: handler];
s2 = [n2 description];
PASS_EQUAL(s1, s2, "rounding 0.019");
END_SET("NSDecimalNumber")
return 0;
}