// CompoundDatasetMergerCreator_t.cxx #include "dataset_split/CompoundDatasetMergerCreator.h" #include #include #include "dataset_util/getcwd.h" #include "dataset_util/Environment.h" #include "dataset_util/XmlElement.h" #include "dataset_util/DtdRegistry.h" #include "dataset_credential/CredentialSelectionCatalog.h" #include "dataset_credential/GssCredentialManager.h" #include "dataset_split/CompoundDatasetMerger.h" using std::string; using std::cout; using std::endl; using dset::CredentialSelectionCatalog; using dset::GssCredentialManager; using dset::DatasetMerger; using dset::DatasetMergerCreator; using dset::CompoundDatasetMerger; using dset::CompoundDatasetMergerCreator; 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 CompoundDatasetMergerCreator_t() { msg("Fetch default instance of CSC."); assert( CredentialSelectionCatalog::create_default_instance() == 0 ); CredentialSelectionCatalog& sc = CredentialSelectionCatalog::default_instance(); cout << sc << endl; assert( sc.is_valid() ); string owner = "me"; assert( GssCredentialManager::set_default() == 0 ); assert( GssCredentialManager::set_owner("me") == 0 ); msg("Create creator"); CompoundDatasetMergerCreator cre; cout << cre << endl; assert( cre.is_valid() ); msg("Create merger"); DatasetMerger* pmrg = cre.create(getcwd()); 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 = CompoundDatasetMergerCreator::dtd(); cout << dtd << endl; assert( dtd.size() > 0 ); assert( DtdRegistry::instance("dataset"). has_type("CompoundDatasetMergerCreator") ); msg("Display DTD."); DtdRegistry::display(cout) << endl; msg("Testing complete"); return 0; } #ifdef CTEST_MAIN int main() { return CompoundDatasetMergerCreator_t(); } #endif