+ BOOST_CHECK_EQUAL(seq_loaded, seq);
+}
+
+BOOST_AUTO_TEST_CASE( serialize_xml_tree )
+{
+ std::string seq_string = "AAGGCCTT";
+ Sequence seq(seq_string);
+ seq.set_species("ribbet");
+ seq.add_motif("AA");
+ seq.add_motif("GC");
+ annot a1(6,7,"t","t");
+ seq.add_annotation(a1);
+
+ std::ostringstream oss;
+ // allocate/deallocate serialization components
+ {
+ boost::archive::xml_oarchive oarchive(oss);
+ const Sequence& const_seq(seq);
+ BOOST_CHECK_EQUAL(seq, const_seq);
+ oarchive << boost::serialization::make_nvp("seq", const_seq);
+ }
+
+ Sequence seq_loaded;
+ {
+ std::istringstream iss(oss.str());
+ boost::archive::xml_iarchive iarchive(iss);
+ iarchive >> boost::serialization::make_nvp("seq", seq_loaded);
+ }
+ BOOST_CHECK_EQUAL(seq_loaded, seq);