// DatasetCreator_t.cxx #include "dataset_base/DatasetCreator_t.h" #include #include #include "dataset_util/XmlElement.h" using std::ostream; using std::cout; using std::endl; using std::vector; using dset::Dataset; using dset::DatasetCreator; void msg(const char* msg) { cout << "----- "; cout << msg; cout << " -----" << endl; } int DatasetCreator_t() { msg("Display creator"); DatasetCreator::display(cout); cout << endl; assert( DatasetCreator::names().size() >= 1 ); assert( DatasetCreator::has("TestDataset") ); assert( ! DatasetCreator::has("XxxDataset") ); msg("Create datasets and XML"); TestDataset ds1; ds1.lock(); TestDataset ds2(true, &ds1); ds2.lock(); const XmlElement* pele = ds2.xml(); assert( pele != 0 ); cout << *pele << endl; msg("Create"); { const Dataset* pdst = DatasetCreator::create(*pele, 0); assert( pdst != 0 ); cout << *pdst << endl; assert( pdst->is() ); // No repository ==> parent is inaccessible. assert( pdst->parent() == 0 ); } return 0; } #ifdef CTEST_MAIN int main() { return DatasetCreator_t(); } #endif