// SimpleDatasetMergerCreator_t.cxx #include "dataset_split/SimpleDatasetMergerCreator.h" #include #include #include "dataset_util/Environment.h" #include "dataset_util/XmlElement.h" #include "dataset_util/DtdRegistry.h" #include "dataset_split/SimpleDatasetMerger.h" using std::string; using std::cout; using std::endl; using dset::DatasetMerger; using dset::DatasetMergerCreator; using dset::SimpleDatasetMerger; using dset::SimpleDatasetMergerCreator; void msg(string txt) { cout << "*** "; cout << txt; cout << " ***" << endl; } bool check(int value, int expect =0) { if ( value != expect ) { cout << "Expected " << expect << "; found " << value << endl; } return value == expect; } int SimpleDatasetMergerCreator_t() { msg("Create creator"); SimpleDatasetMergerCreator cre; cout << cre << endl; assert( cre.is_valid() ); msg("Create merger"); DatasetMerger* pmrg = cre.create(""); assert( pmrg != 0 ); cout << *pmrg << endl; assert( dynamic_cast(pmrg) != 0 ); msg("Write to XML"); const XmlElement* pele = cre.xml(); assert( pele != 0 ); cout << *pele << endl; msg("Read XML"); { const DatasetMergerCreator* pcre = DatasetMergerCreator::create(*pele); assert( pcre != 0 ); cout << *pcre << endl; assert( dynamic_cast(pcre) != 0 ); } msg("DTD"); Text dtd = SimpleDatasetMergerCreator::dtd(); cout << dtd << endl; assert( dtd.size() > 0 ); assert( DtdRegistry::instance("dataset"). has_type("SimpleDatasetMergerCreator") ); msg("Display DTD."); DtdRegistry::display(cout) << endl; msg("Testing complete"); return 0; } #ifdef CTEST_MAIN int main() { return SimpleDatasetMergerCreator_t(); } #endif