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 a3d4134a0c4dd5a87906adace01994d86358d01c..1c19ed9cfc240c1213e95b0e1b1eb1a03e212723 100644 (file)
@@ -1,9 +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,4 +51,43 @@ BOOST_AUTO_TEST_CASE ( color )
   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);
+}
+*/