31 using namespace pwiz::util;
33 using namespace pwiz::data;
34 using namespace pwiz::data::diff_impl;
35 using namespace pwiz::msdata;
43 if (
os_) *
os_ <<
"testFileContent()\n";
56 if (
os_) *
os_ << diff << endl;
68 if (
os_) *
os_ <<
"testSourceFile()\n";
70 SourceFile a(
"id1",
"name1",
"location1"), b(
"id1",
"name1",
"location1");
71 a.userParams.push_back(
UserParam(
"common"));
79 if (
os_) *
os_ << diff << endl;
86 if (
os_) *
os_ <<
"testFileDescription()\n";
93 Contact contact1, contact2, contact3, contact4;
123 if (
os_) *
os_ << diff << endl;
140 if (
os_) *
os_ <<
"testSample()\n";
142 Sample a(
"id1",
"name1"), b(
"id1",
"name1");
143 a.userParams.push_back(
UserParam(
"common"));
151 if (
os_) *
os_ << diff << endl;
158 if (
os_) *
os_ <<
"testComponent()\n";
170 if (
os_) *
os_ << diff << endl;
177 if (
os_) *
os_ <<
"testSource()\n";
189 if (
os_) *
os_ << diff << endl;
196 if (
os_) *
os_ <<
"testComponentList()\n";
207 a[0].userParams.push_back(
UserParam(
"common"));
208 b[0].userParams.push_back(
UserParam(
"common"));
213 a[1].userParams.push_back(
UserParam(
"common"));
214 b[1].userParams.push_back(
UserParam(
"common"));
215 a[1].userParams.push_back(
UserParam(
"a only"));
216 b[1].userParams.push_back(
UserParam(
"b only"));
218 a[2].userParams.push_back(
UserParam(
"a only"));
219 b[2].userParams.push_back(
UserParam(
"b only"));
222 if (
os_) *
os_ << diff << endl;
229 if (
os_) *
os_ <<
"testSoftware()\n";
244 if (
os_) *
os_ << diff << endl;
276 if (
os_) *
os_ << diff << endl;
283 if (
os_) *
os_ <<
"testProcessingMethod()\n";
295 if (
os_) *
os_ << diff << endl;
300 if (
os_) *
os_ << diff << endl;
306 if (
os_) *
os_ << diff << endl;
313 if (
os_) *
os_ <<
"testDataProcessing()\n";
344 if (
os_) *
os_ << diff << endl;
351 if (
os_) *
os_ <<
"testScanSettings()\n";
366 if (
os_) *
os_ << diff << endl;
377 if (
os_) *
os_ <<
"testPrecursor()\n";
398 if (
os_) *
os_ << diff << endl;
409 if (
os_) *
os_ <<
"testProduct()\n";
423 if (
os_) *
os_ << diff << endl;
432 if (
os_) *
os_ <<
"testScan()\n";
450 if (
os_) *
os_ << diff << endl;
458 if (
os_) *
os_ <<
"testScanList()\n";
470 a.
scans.push_back(a1);
471 a.
scans.push_back(a2);
472 b.
scans.push_back(a2);
473 b.
scans.push_back(a1);
482 if (
os_) *
os_ << diff << endl;
489 if (
os_) *
os_ <<
"testBinaryDataArray()\n";
492 for (
int i=0; i<10; i++) data.push_back(i);
502 a.
data[9] = 1.00001e10;
503 b.
data[9] = 1.00000e10;
509 if (diff &&
os_) *
os_ << diff << endl;
512 b.
data[9] = 1.0002e10;
516 if (diff &&
os_) *
os_ << diff << endl;
523 if (
os_) *
os_ <<
"testSpectrum()\n";
542 if (diff) cout <<
diff;
561 if (
os_) *
os_ << diff << endl;
567 unit_assert(diff.a_b.dataProcessingPtr->id ==
"msdata 2");
575 unit_assert(diff.b_a.dataProcessingPtr->id ==
"msdata");
584 b.binaryDataArrayPtrs[0]->data.resize(6);
587 b.binaryDataArrayPtrs[0]->data[0] = 420 + 1
e-12;
590 if (
os_ && diff) *
os_ << diff << endl;
593 b.binaryDataArrayPtrs[0]->data[0] += 1
e-3;
595 if (
os_ && diff) *
os_ << diff << endl;
602 if (
os_) *
os_ <<
"testChromatogram()\n";
617 if (diff) cout <<
diff;
627 if (
os_ && diff) *
os_ << diff << endl;
632 if (
os_ && diff) *
os_ << diff << endl;
639 if (
os_) *
os_ <<
"testSpectrumList()\n";
644 spectrum1a->id =
"420";
647 spectrum1b->id =
"420";
649 aSimple.
spectra.push_back(spectrum1a);
650 bSimple.
spectra.push_back(spectrum1b);
665 config_ignore.ignoreDataProcessing =
true;
676 spectrum2->id =
"421";
677 aSimple.
spectra.push_back(spectrum2);
680 if (
os_) *
os_ << diff << endl;
688 spectrum3->id =
"422";
689 bSimple.
spectra.push_back(spectrum3);
692 if (
os_) *
os_ << diff << endl;
701 spectrum3->id =
"421";
706 for (
int i=0; i<10; i++)
707 b1->data[i] = b2->data[i] = i;
709 spectrum2->binaryDataArrayPtrs.push_back(b1);
710 spectrum3->binaryDataArrayPtrs.push_back(b2);
720 if (
os_) *
os_ << diffNarrow << endl;
727 if (
os_) *
os_ <<
"testChromatogramList()\n";
732 chromatogram1a->id =
"420";
735 chromatogram1b->id =
"420";
745 config_ignore.ignoreChromatograms =
true;
758 config_ignore_dp.ignoreDataProcessing =
true;
769 chromatogram2->id =
"421";
773 if (
os_) *
os_ << diff << endl;
779 if (
os_) *
os_ << diffIgnore << endl;
785 chromatogram3->id =
"422";
789 if (
os_) *
os_ << diff << endl;
801 chromatogram3->id =
"421";
806 for (
int i=0; i<10; i++)
807 b1->data[i] = b2->data[i] = i;
809 chromatogram2->binaryDataArrayPtrs.push_back(b1);
810 chromatogram3->binaryDataArrayPtrs.push_back(b2);
820 if (
os_) *
os_ << diffNarrow << endl;
830 if (
os_) *
os_ <<
"testRun()\n";
846 spectrumList1->spectra.back()->id =
"spectrum1";
851 chromatogramList1->chromatograms.back()->id =
"chromatogram1";
862 if (
os_) *
os_ << diff << endl;
890 if (
os_) *
os_ <<
"testMSData()\n";
902 a.
cvs.push_back(
CV());
913 if (
os_) *
os_ << diff << endl;
968 for (vector<BinaryDataArrayPtr>::const_iterator it=from->binaryDataArrayPtrs.begin();
969 it!=from->binaryDataArrayPtrs.end(); ++it)
973 to->binaryDataArrayPtrs.back()->data = (*it)->data;
978 to->defaultArrayLength = from->defaultArrayLength;
979 to->scanList = from->scanList;
981 to->precursors.resize(from->precursors.size());
982 for (
size_t precursorIndex=0; precursorIndex<from->precursors.size(); ++precursorIndex)
984 Precursor& precursorTo = to->precursors[precursorIndex];
985 Precursor& precursorFrom = from->precursors[precursorIndex];
996 for (vector<BinaryDataArrayPtr>::const_iterator it=from->binaryDataArrayPtrs.begin();
997 it!=from->binaryDataArrayPtrs.end(); ++it)
1001 to->binaryDataArrayPtrs.back()->data = (*it)->data;
1006 to->defaultArrayLength = from->defaultArrayLength;
1019 config.ignoreMetadata =
true;
1020 config.ignoreIdentity =
true;
1023 if (
os_ && diff_data) *
os_ << diff_data << endl;
1031 template <
typename list_type>
1034 if (list.dp.get() &&
1035 !list.dp->processingMethods.empty() &&
1047 *
os_ <<
"testMaxPrecisionDiff()\n";
1059 std::vector<double> data1;
1060 std::vector<double> data2;
1062 data1.push_back(3.0);
1063 data2.push_back(3.0000001);
1076 data1.push_back(2.0);
1077 data2.push_back(2.0001);
1082 data1.push_back(1.0);
1083 data2.push_back(1.001);
1093 if(
os_) *
os_<<diff<<endl;
1101 if(
os_) *
os_<<diff2<<endl;
1124 spa->binaryDataArrayPtrs.push_back(a);
1125 spb->binaryDataArrayPtrs.push_back(b);
1126 spc->binaryDataArrayPtrs.push_back(c);
1127 spd->binaryDataArrayPtrs.push_back(d);
1129 sls_a->spectra.push_back(spa);
1130 sls_a->spectra.push_back(spc);
1131 sls_b->spectra.push_back(spb);
1132 sls_b->spectra.push_back(spc);
1142 cpa->binaryDataArrayPtrs.push_back(a);
1143 cpb->binaryDataArrayPtrs.push_back(b);
1144 cpc->binaryDataArrayPtrs.push_back(c);
1145 cpd->binaryDataArrayPtrs.push_back(d);
1147 cls_a->chromatograms.push_back(cpa);
1148 cls_a->chromatograms.push_back(cpc);
1149 cls_b->chromatograms.push_back(cpb);
1150 cls_b->chromatograms.push_back(cpd);
1215 if(
os_) *
os_<<diff_run<<endl;
1263 if(
os_) *
os_<<
"testMSDiffUpdate()"<<endl;
1277 tiny1.
run.
id=
"superego";
1284 tiny1_s0->id =
"tiny1";
1285 tiny2_s1->id =
"tiny2";
1291 tiny1_c0->id=
"zumas";
1298 if(
os_) *
os_<<diff_changed<<endl;
1305 if(
os_) *
os_<<diff_changed_changed<<endl;
1346 if (argc>1 && !strcmp(argv[1],
"-v"))
os_ = &cout;
1349 catch (exception&
e)