libs-base/Tests/base/NSNumber/test03.m

56 lines
1.9 KiB
Mathematica
Raw Permalink Normal View History

2023-12-19 14:24:13 +00:00
#import "ObjectTesting.h"
#import <Foundation/NSAutoreleasePool.h>
#import <Foundation/NSDecimalNumber.h>
int main()
{
START_SET("GSDecimalCompare")
NSDecimalNumber *n1;
NSDecimalNumber *n2;
NSComparisonResult result;
// Test comparing positive numbers
2024-01-22 20:35:10 +00:00
n1 = [NSDecimalNumber decimalNumberWithString:@"0.05" locale:nil];
n2 = [NSDecimalNumber decimalNumberWithString:@"0.10" locale:nil];
2023-12-19 14:24:13 +00:00
result = [n1 compare:n2];
PASS(result == NSOrderedAscending, "0.05 < 0.10");
// Test comparing negative numbers
2024-01-22 20:35:10 +00:00
n1 = [NSDecimalNumber decimalNumberWithString:@"-0.10" locale:nil];
n2 = [NSDecimalNumber decimalNumberWithString:@"-0.05" locale:nil];
2023-12-19 14:24:13 +00:00
result = [n1 compare:n2];
PASS(result == NSOrderedAscending, "-0.10 < -0.05");
// Test comparing a positive and a negative number
2024-01-22 20:35:10 +00:00
n1 = [NSDecimalNumber decimalNumberWithString:@"-0.10" locale:nil];
n2 = [NSDecimalNumber decimalNumberWithString:@"0.10" locale:nil];
2023-12-19 14:24:13 +00:00
result = [n1 compare:n2];
PASS(result == NSOrderedAscending, "-0.10 < 0.10");
// Test comparing zeros
2024-01-22 20:35:10 +00:00
n1 = [NSDecimalNumber decimalNumberWithString:@"0.00" locale:nil];
n2 = [NSDecimalNumber decimalNumberWithString:@"0.00" locale:nil];
2023-12-19 14:24:13 +00:00
result = [n1 compare:n2];
PASS(result == NSOrderedSame, "0.00 == 0.00");
// Test comparing zero with a positive number
2024-01-22 20:35:10 +00:00
n1 = [NSDecimalNumber decimalNumberWithString:@"0.00" locale:nil];
n2 = [NSDecimalNumber decimalNumberWithString:@"0.02" locale:nil];
2023-12-19 14:24:13 +00:00
result = [n1 compare:n2];
PASS(result == NSOrderedAscending, "0.00 < 0.02");
// Test comparing zero with a negative number
2024-01-22 20:35:10 +00:00
n1 = [NSDecimalNumber decimalNumberWithString:@"-0.02" locale:nil];
n2 = [NSDecimalNumber decimalNumberWithString:@"0.00" locale:nil];
2023-12-19 14:24:13 +00:00
result = [n1 compare:n2];
PASS(result == NSOrderedAscending, "-0.02 < 0.00");
// Add more test cases as needed to cover edge cases and other scenarios
END_SET("GSDecimalCompare")
return 0;
}