// JobIdList_t.cxx #include "dial_job/JobIdList.h" #include #include #include #include #include "dataset_util/FileName.h" #include "dataset_util/XmlElement.h" #include "dataset_util/DtdRegistry.h" using std::string; using std::cout; using std::endl; using dial::JobId; using dial::JobIdList; void msg(const char* msg) { cout << "----- "; cout << msg; cout << " -----" << endl; } int JobIdList_t() { msg("Create empty list"); JobIdList jids; cout << jids << endl; assert( jids.size() == 0 ); msg("Fill list"); jids.push_back(JobId(222,1)); jids.push_back(JobId(222,2)); jids.push_back(JobId(222,3)); jids.push_back(JobId(223,1)); cout << jids << endl; assert( jids.size() == 4 ); msg("XML name"); cout << JobIdList::xml_name() << endl; msg("DTD"); cout << JobIdList::dtd() << endl; assert( JobIdList::dtd().size() > 0 ); msg("Write to XML"); const XmlElement* pele = jids.xml(); cout << *pele << endl; msg("Read XML"); { JobIdList jids2(*pele); cout << jids2 << endl; assert( jids2.size() == jids.size() ); assert( jids2 == jids ); } msg("Display DTD."); DtdRegistry::display(cout) << endl; string fname = DtdRegistry::instance("dial").write(); assert( fname == "dial.dtd" ); cout << FileName(fname).fullpath() << endl; return 0; } #ifdef CTEST_MAIN int main() { return JobIdList_t(); } #endif