Update mussa to build on ubuntu 10.04 with qt 4.6.2 +boost 1.40.0.1
[mussa.git] / alg / test / test_color.cpp
index cdae872715f1c3bb3bc173028e4c628fda5fef48..1c19ed9cfc240c1213e95b0e1b1eb1a03e212723 100644 (file)
@@ -1,10 +1,20 @@
-#include <boost/test/auto_unit_test.hpp>
+#define BOOST_TEST_DYN_LINK
+#define BOOST_TEST_MODULE test_color
+#include <boost/test/unit_test.hpp>
 #include <boost/test/floating_point_comparison.hpp>
+
 #include <string>
 #include <sstream>
 
+#include <boost/archive/text_oarchive.hpp>
+#include <boost/archive/text_iarchive.hpp>
+#include <boost/archive/xml_oarchive.hpp>
+#include <boost/archive/xml_iarchive.hpp>
+
 #include "alg/color.hpp"
 
+#include <iostream>
+
 using namespace std;
 
 BOOST_AUTO_TEST_CASE ( color )
@@ -40,3 +50,44 @@ BOOST_AUTO_TEST_CASE ( color )
   BOOST_CHECK_CLOSE (colors[Color::BlueChannel  ], dotthree, tolerance );
   BOOST_CHECK_CLOSE (colors[Color::AlphaChannel ], dotfour, tolerance );
 }
+
+/*
+BOOST_AUTO_TEST_CASE( serialize_color )
+{
+  const Color color1(1.0, 1.0, 1.0, 1.0);
+
+  std::ostringstream oss;
+  // allocate/deallocate serialization components
+  {
+    boost::archive::text_oarchive oarchive(oss);
+    oarchive << color1;
+  }
+  Color color2;
+  {
+    std::istringstream iss(oss.str());
+    boost::archive::text_iarchive iarchive(iss);
+    iarchive >> color2;
+  }
+  BOOST_CHECK_EQUAL(color1, color2);
+}  
+
+BOOST_AUTO_TEST_CASE( serialize_xml_color )
+{
+  const Color color1(0.0, 0.5, 0.0, 0.0);
+
+  std::ostringstream oss;
+  // allocate/deallocate serialization components
+  {
+    boost::archive::xml_oarchive oarchive(oss);
+    oarchive << boost::serialization::make_nvp("color", color1);
+  }
+  //std::cout << "XML Color: " << oss.str() << std::endl;
+  Color color2;
+  {
+    std::istringstream iss(oss.str());
+    boost::archive::xml_iarchive iarchive(iss);
+    iarchive >> boost::serialization::make_nvp("color", color2);
+  }
+  BOOST_CHECK_EQUAL(color1, color2);
+}
+*/