diff options
author | Alan Conway <aconway@apache.org> | 2015-05-07 18:07:02 +0000 |
---|---|---|
committer | Alan Conway <aconway@apache.org> | 2015-05-07 18:07:02 +0000 |
commit | be47f41f5daccfb0f8aa8208c349387ae81de02c (patch) | |
tree | d97563d605c9eca1fed694d38b6ffdb7f12918f5 /qpid/cpp/src/tests/FieldValue.cpp | |
parent | 4726f5f14b732ed2b920e0c642cf74e08816f0cc (diff) | |
download | qpid-python-be47f41f5daccfb0f8aa8208c349387ae81de02c.tar.gz |
NO-JIRA: Fix floating point FieldValue tests to work on older compilers/boost versions.
This fixes compile errors seen on gcc-c++-4.1.2-55.el5, boost-devel-1.33.1-16.el5_9
Float/double conversion and template matching issues.
Probably down to boost, but might be gcc related.
git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@1678246 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to 'qpid/cpp/src/tests/FieldValue.cpp')
-rw-r--r-- | qpid/cpp/src/tests/FieldValue.cpp | 16 |
1 files changed, 8 insertions, 8 deletions
diff --git a/qpid/cpp/src/tests/FieldValue.cpp b/qpid/cpp/src/tests/FieldValue.cpp index 2182a43e35..c70736962c 100644 --- a/qpid/cpp/src/tests/FieldValue.cpp +++ b/qpid/cpp/src/tests/FieldValue.cpp @@ -62,11 +62,11 @@ QPID_AUTO_TEST_CASE(testIntegerValueEquals) QPID_AUTO_TEST_CASE(testFloatValueEquals) { BOOST_CHECK(f.convertsTo<float>() == true); - BOOST_CHECK_EQUAL(FloatValue(42.42), f); - BOOST_CHECK_CLOSE(f.get<float>(), 42.42, 0.001); + BOOST_CHECK(FloatValue(42.42) == f); + BOOST_CHECK_CLOSE(double(f.get<float>()), 42.42, 0.001); // Check twice, regression test for QPID-6470 where the value was corrupted during get. - BOOST_CHECK_EQUAL(FloatValue(42.42), f); - BOOST_CHECK_CLOSE(f.get<float>(), 42.42, 0.001); + BOOST_CHECK(FloatValue(42.42) == f); + BOOST_CHECK_CLOSE(f.get<double>(), 42.42, 0.001); // Float to double conversion BOOST_CHECK(f.convertsTo<double>() == true); @@ -75,7 +75,7 @@ QPID_AUTO_TEST_CASE(testFloatValueEquals) // Double value BOOST_CHECK(f.convertsTo<float>() == true); BOOST_CHECK(f.convertsTo<double>() == true); - BOOST_CHECK_CLOSE(df.get<float>(), 123.123, 0.001); + BOOST_CHECK_CLOSE(double(df.get<float>()), 123.123, 0.001); BOOST_CHECK_CLOSE(df.get<double>(), 123.123, 0.001); // Invalid conversions should fail. @@ -85,12 +85,12 @@ QPID_AUTO_TEST_CASE(testFloatValueEquals) BOOST_CHECK_THROW(f.get<int>(), InvalidConversionException); // getFloatingPointValue: check twice, regression test for QPID-6470 - BOOST_CHECK_CLOSE((f.getFloatingPointValue<float,sizeof(float)>()), 42.42, 0.001); - BOOST_CHECK_CLOSE((f.getFloatingPointValue<float,sizeof(float)>()), 42.42, 0.001); + BOOST_CHECK_CLOSE((double(f.getFloatingPointValue<float,sizeof(float)>())), 42.42, 0.001); + BOOST_CHECK_CLOSE((double(f.getFloatingPointValue<float,sizeof(float)>())), 42.42, 0.001); BOOST_CHECK_CLOSE((df.getFloatingPointValue<double,sizeof(double)>()), 123.123, 0.001); // getFloatingPointValue should *not* convert float/double, require exact type. BOOST_CHECK_THROW((f.getFloatingPointValue<double,sizeof(double)>()), InvalidConversionException); - BOOST_CHECK_THROW((df.getFloatingPointValue<float,sizeof(float)>()), InvalidConversionException); + BOOST_CHECK_THROW((double(df.getFloatingPointValue<float,sizeof(float)>())), InvalidConversionException); } QPID_AUTO_TEST_SUITE_END() |