diff --git a/test/unordered/serialization_tests.cpp b/test/unordered/serialization_tests.cpp index 0cd25b11..82752186 100644 --- a/test/unordered/serialization_tests.cpp +++ b/test/unordered/serialization_tests.cpp @@ -28,7 +28,8 @@ namespace { template - void serialization_tests(Container*, ArchivePair*, test::random_generator generator) + void serialization_tests( + Container*, ArchivePair*, test::random_generator generator) { typedef typename Container::iterator iterator; typedef std::vector iterator_vector; @@ -111,9 +112,11 @@ namespace { using test::default_generator; std::pair< - boost::archive::text_oarchive, boost::archive::text_iarchive>* text_archive; + boost::archive::text_oarchive, boost::archive::text_iarchive>* + text_archive; std::pair< - boost::archive::xml_oarchive, boost::archive::xml_iarchive>* xml_archive; + boost::archive::xml_oarchive, boost::archive::xml_iarchive>* + xml_archive; #ifdef BOOST_UNORDERED_FOA_TESTS boost::unordered_flat_map< @@ -164,9 +167,16 @@ namespace { typename non_const::type> type; }; + template + struct labeled + { + labeled(const char* label_): label(label_) {} + + const char* label; + }; + template - void legacy_serialization_test( - std::pair lc, std::pair la) + void legacy_serialization_test(labeled lc, labeled la) { typedef typename Container::value_type value_type; typedef std::vector::type> value_vector; @@ -179,41 +189,43 @@ namespace { char filename[1024]; std::sprintf( filename, "%s/legacy_archives/%s_%d.%s", - test_dir, lc.second, (int)sizes[i], la.second); + test_dir, lc.label, (int)sizes[i], la.label); std::ifstream ifs(filename); Archive ia(ifs); Container c; value_vector v; ia >> boost::serialization::make_nvp("container", c); ia >> boost::serialization::make_nvp("values", v); - BOOST_TEST(v.size() >= sizes[i]); // values generated with some degree of repetition + BOOST_TEST(v.size() >= sizes[i]); // values generated with repetition BOOST_TEST((c==Container(v.begin(),v.end()))); } } - std::pair*, const char*> - labeled_map_int(0, "map_int"); - std::pair*, const char*> - labeled_map_string(0, "map_string"); - std::pair*, const char*> - labeled_multimap_int(0, "multimap_int"); - std::pair*, const char*> - labeled_multimap_string(0, "multimap_string"); - std::pair*, const char*> - labeled_set_int(0, "set_int"); - std::pair*, const char*> - labeled_set_string(0, "set_string"); - std::pair*, const char*> - labeled_multiset_int(0, "multiset_int"); - std::pair*, const char*> - labeled_multiset_string(0, "multiset_string"); + labeled > + labeled_map_int("map_int"); + labeled > + labeled_map_string("map_string"); + labeled > + labeled_multimap_int("multimap_int"); + labeled > + labeled_multimap_string("multimap_string"); + labeled > + labeled_set_int("set_int"); + labeled > + labeled_set_string("set_string"); + labeled > + labeled_multiset_int("multiset_int"); + labeled > + labeled_multiset_string("multiset_string"); - std::pair labeled_text_iarchive(0, "txt"); - std::pair labeled_xml_iarchive(0, "xml"); + labeled labeled_text_iarchive("txt"); + labeled labeled_xml_iarchive("xml"); UNORDERED_TEST(legacy_serialization_test, - ((labeled_map_int)(labeled_map_string)(labeled_multimap_int)(labeled_multimap_string) - (labeled_set_int)(labeled_set_string)(labeled_multiset_int)(labeled_multiset_string)) + ((labeled_map_int)(labeled_map_string) + (labeled_multimap_int)(labeled_multimap_string) + (labeled_set_int)(labeled_set_string) + (labeled_multiset_int)(labeled_multiset_string)) ((labeled_text_iarchive)(labeled_xml_iarchive))) #endif } @@ -226,4 +238,3 @@ int main(int argc, char* argv[]) ::test::get_state().run_tests(); return boost::report_errors(); } -