// NoSplitDatasetSplitter_t.cxx #include "dataset_split/NoSplitDatasetSplitter.h" #include #include #include "dataset_util/XmlElement.h" #include "dataset_util/DtdRegistry.h" #include "dataset_base/Dataset_t.h" using std::string; using std::cout; using std::endl; using dset::DatasetList; using dset::DatasetSplitter; using dset::NoSplitDatasetSplitter; void msg(string txt) { cout << "*** "; cout << txt; cout << " ***" << endl; } int NoSplitDatasetSplitter_t() { msg("Create dataset"); TestDataset dst; cout << dst << endl; msg("Create splitter"); NoSplitDatasetSplitter splitter; cout << splitter << endl; msg("Split"); DatasetList sdsts = splitter.split(dst); cout << sdsts << endl; assert( sdsts.size() == 1 ); assert( sdsts.front() == &dst ); msg("Split and append"); assert( splitter.split_and_append(dst, sdsts) == 1 ); cout << sdsts << endl; assert( sdsts.size() == 2 ); msg("Write to XML"); const XmlElement* pele = splitter.xml(); assert( pele != 0 ); msg("Read XML"); { const DatasetSplitter* psplit = DatasetSplitter::create(*pele); assert( psplit != 0 ); assert( dynamic_cast(psplit) != 0 ); } msg("DTD"); Text dtd = NoSplitDatasetSplitter::dtd(); cout << dtd << endl; assert( dtd.size() > 0 ); assert( DtdRegistry::instance("dataset"). has_type("NoSplitDatasetSplitter") ); msg("Display DTD."); DtdRegistry::display(cout) << endl; msg("Testing complete"); return 0; } #ifdef CTEST_MAIN int main() { return NoSplitDatasetSplitter_t(); } #endif