$include_dir="/home/hyper-archives/boost-commit/include"; include("$include_dir/msg-header.inc") ?>
Subject: [Boost-commit] svn:boost r52653 - trunk/libs/serialization/test
From: ramey_at_[hidden]
Date: 2009-04-28 13:32:32
Author: ramey
Date: 2009-04-28 13:32:28 EDT (Tue, 28 Apr 2009)
New Revision: 52653
URL: http://svn.boost.org/trac/boost/changeset/52653
Log:
Added test_bitset.cpp source
Added:
   trunk/libs/serialization/test/test_bitset.cpp   (contents, props changed)
Added: trunk/libs/serialization/test/test_bitset.cpp
==============================================================================
--- (empty file)
+++ trunk/libs/serialization/test/test_bitset.cpp	2009-04-28 13:32:28 EDT (Tue, 28 Apr 2009)
@@ -0,0 +1,63 @@
+/*!
+ * \file      test_bitset.cpp
+ * \brief     Test that serialization of std::bitset works.
+ * \note      Should pass compilation and execution
+ * \author    Brian Ravnsgaard Riis
+ * \author    Kenneth Riddile
+ * \date      16.09.2004, updated 04.03.2009
+ * \license   Boost Software License 1.0
+ */
+
+#include <cstddef> // NULL
+#include <cstdio> // remove
+#include <fstream>
+
+#include <boost/config.hpp>
+
+#if defined( BOOST_NO_STDC_NAMESPACE )
+namespace std
+{ 
+    using ::remove;
+}
+#endif
+
+#include "test_tools.hpp"
+
+#include <boost/serialization/bitset.hpp>
+#include <boost/serialization/nvp.hpp>
+
+int test_main( int /* argc */, char* /* argv */[] )
+{
+    const char* testfile = boost::archive::tmpnam( NULL );
+    BOOST_REQUIRE( NULL != testfile );
+
+    std::bitset<8> bitsetA;
+    bitsetA.set( 0, false );
+    bitsetA.set( 1, true  );
+    bitsetA.set( 2, false );
+    bitsetA.set( 3, true  );
+    bitsetA.set( 4, false );
+    bitsetA.set( 5, false );
+    bitsetA.set( 6, true  );
+    bitsetA.set( 7, true  );
+    
+    {
+        test_ostream os( testfile, TEST_STREAM_FLAGS );
+        test_oarchive oa( os );
+        oa << boost::serialization::make_nvp( "bitset", bitsetA );
+    }
+    
+    std::bitset<8> bitsetB;
+    {
+        test_istream is( testfile, TEST_STREAM_FLAGS );
+        test_iarchive ia( is );
+        ia >> boost::serialization::make_nvp( "bitset", bitsetB );
+    }
+    
+    BOOST_CHECK( bitsetA == bitsetB );
+    
+    std::remove( testfile );
+    return EXIT_SUCCESS;
+}
+
+// EOF