Author: aconway
Date: Thu May  7 18:07:02 2015
New Revision: 1678246

URL: http://svn.apache.org/r1678246
Log:
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.

Modified:
    qpid/trunk/qpid/cpp/src/tests/FieldValue.cpp

Modified: qpid/trunk/qpid/cpp/src/tests/FieldValue.cpp
URL: 
http://svn.apache.org/viewvc/qpid/trunk/qpid/cpp/src/tests/FieldValue.cpp?rev=1678246&r1=1678245&r2=1678246&view=diff
==============================================================================
--- qpid/trunk/qpid/cpp/src/tests/FieldValue.cpp (original)
+++ qpid/trunk/qpid/cpp/src/tests/FieldValue.cpp Thu May  7 18:07:02 2015
@@ -62,11 +62,11 @@ QPID_AUTO_TEST_CASE(testIntegerValueEqua
 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()



---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to