void test() { { MSData tiny; examples::initializeTiny(tiny); MSDataFile::WriteConfig writeConfig; Serializer_mz5 serializer(writeConfig); IterationListenerRegistry ilr; serializer.write(testFilename, tiny, &ilr); MSData dummy; serializer.read(testFilename, dummy); // so we don't have any dangling references //dummy.instrumentPtrs.push_back(InstrumentPtr(new Instrument("LCQ_Deca"))); dummy.dataProcessingPtrs.push_back(DataProcessingPtr(new DataProcessing( "pwiz_processing"))); dummy.dataProcessingPtrs.push_back(DataProcessingPtr(new DataProcessing( "CompassXtract processing"))); ChromatogramListPtr sl = dummy.run.chromatogramListPtr; // check easy functions unit_assert(sl.get()); unit_assert(sl->size() == 2); unit_assert(sl->find("tic") == 0); unit_assert(sl->find("sic") == 1); // check tic ChromatogramPtr s = sl->chromatogram(0); // read without binary data unit_assert(s.get()); unit_assert(s->id == "tic"); unit_assert(s->binaryDataArrayPtrs.empty()); unit_assert(sl->chromatogramIdentity(0).index == 0); unit_assert(sl->chromatogramIdentity(0).id == "tic"); s = sl->chromatogram(0, true); // read with binary data vector < TimeIntensityPair > pairs; s->getTimeIntensityPairs(pairs); unit_assert(pairs.size() == 15); for (int i = 0; i < 15; i++) unit_assert(pairs[i].time == i && pairs[i].intensity == 15 - i); // check sic s = sl->chromatogram(1, true); unit_assert(s.get()); unit_assert(s->id == "sic"); unit_assert(sl->chromatogramIdentity(1).index == 1); unit_assert(sl->chromatogramIdentity(1).id == "sic"); pairs.clear(); s->getTimeIntensityPairs(pairs); unit_assert(pairs.size() == 10); for (int i = 0; i < 10; i++) unit_assert(pairs[i].time == i && pairs[i].intensity == (10 - i)); } bfs::remove(testFilename); }