summaryrefslogtreecommitdiff
path: root/ACE/tests
diff options
context:
space:
mode:
Diffstat (limited to 'ACE/tests')
-rw-r--r--ACE/tests/CDR_Fixed_Test.cpp15
1 files changed, 11 insertions, 4 deletions
diff --git a/ACE/tests/CDR_Fixed_Test.cpp b/ACE/tests/CDR_Fixed_Test.cpp
index caf2c37100e..927b5cb4abb 100644
--- a/ACE/tests/CDR_Fixed_Test.cpp
+++ b/ACE/tests/CDR_Fixed_Test.cpp
@@ -58,7 +58,7 @@ int run_main (int, ACE_TCHAR *[])
TEST_EQUAL (LongLong (-1234567890l), LongLong (f1));
TEST_EQUAL (LongLong (987654321), LongLong (f2));
- TEST_EQUAL (LongLong (612578912487901265ul), LongLong (f3));
+ TEST_EQUAL (LongLong (612578912487901265ull), LongLong (f3));
TEST_EQUAL (0, f1.fixed_scale ());
TEST_EQUAL (10, f1.fixed_digits ());
@@ -73,7 +73,7 @@ int run_main (int, ACE_TCHAR *[])
EXPECT ("987654321", f2);
EXPECT ("612578912487901265.90125789", f3);
- Fixed f1_scaled = f1 / Fixed::from_integer (LongLong (100l));
+ Fixed f1_scaled = f1 / Fixed::from_integer (LongLong (100));
const Fixed f4 = Fixed::from_string ("-12345678.9");
TEST_EQUAL (f1_scaled, f4);
@@ -113,6 +113,10 @@ int run_main (int, ACE_TCHAR *[])
const Fixed f10 = Fixed::from_floating (ld3);
EXPECT ("0.125", f10);
+ LongDouble ldzero = ACE_CDR_LONG_DOUBLE_INITIALIZER;
+ const Fixed fzero = Fixed::from_floating (ldzero);
+ EXPECT ("0", fzero);
+
Fixed f11 = Fixed::from_integer (LongLong (-1l));
TEST_EQUAL (LongLong (-1), LongLong (f11));
TEST_EQUAL (false, !f11);
@@ -198,8 +202,8 @@ int run_main (int, ACE_TCHAR *[])
// 1234567890123456789012345678901
Fixed f26 = Fixed::from_string ("0.0000000000000000000000000000001")
- * Fixed::from_string ("0.1");
- EXPECT ("0.0", f26);
+ * Fixed::from_string ("0.1");
+ EXPECT ( "0.0000000000000000000000000000000", f26);
Fixed f27 = Fixed::from_string ("817459124");
f27 /= Fixed::from_string ("0.001");
@@ -214,6 +218,9 @@ int run_main (int, ACE_TCHAR *[])
EXPECT ("400000", f28);
TEST_EQUAL (6, f28.fixed_digits ());
+ Fixed f29 = Fixed::from_integer (LongLong (1)) / Fixed::from_integer (LongLong (-3));
+ EXPECT ("-0.333333333333333333333333333333", f29); //TODO: one more 3
+
ACE_END_TEST;
return failed;
}