// DatasetMerger_t.cxx #include "dataset_split/DatasetMerger.h" #include #include #include "dataset_util/getcwd.h" #include "dataset_base/Dataset_t.h" #include "dataset_split/DatasetMerger_t.h" using std::string; using std::cout; using std::endl; using dset::Dataset; using dset::DatasetList; using dset::DatasetMerger; using dset::DatasetMergeResult; void msg(string txt) { cout << "*** "; cout << txt; cout << " ***" << endl; } int DatasetMerger_t() { msg("Create dataset list"); TestDataset dst1; TestDataset dst2; dst1.lock(); dst2.lock(); DatasetList dsts; dsts.push_back(&dst1); dsts.push_back(&dst2); cout << dst1 << endl; cout << dst2 << endl; msg("Create merger"); TestDatasetMerger merger; cout << merger << endl; assert( merger.is_valid() ); msg("Append datasets"); assert( merger.append(dst1) == 0 ); assert( merger.append(dst2) == 0 ); cout << merger << endl; assert( merger.is_valid() ); msg("Get result"); DatasetMergeResult res = merger.result(); cout << res << endl; assert( res.is_valid() ); assert( res.input_datasets().size() == 2 ); assert( res.merged_datasets().size() == 0 ); assert( res.rejected_datasets().size() == 0 ); assert( res.dataset() == 0 ); assert( ! res.is_up_to_date() ); msg("Testing complete"); return 0; } #ifdef CTEST_MAIN int main() { return DatasetMerger_t(); } #endif