ProteoWizard
Classes | Functions | Variables
MSDataAnalyzerTest.cpp File Reference
#include "MSDataAnalyzer.hpp"
#include "pwiz/utility/misc/unit.hpp"
#include "pwiz/utility/misc/Std.hpp"
#include <cstring>

Go to the source code of this file.

Classes

struct  SimpleAnalyzer
 
struct  SimpleProgressCallback
 
struct  CancelProgressCallback
 

Functions

void test ()
 
int main (int argc, char *argv[])
 

Variables

ostream * os_ = 0
 

Function Documentation

◆ test()

void test ( )

Definition at line 109 of file MSDataAnalyzerTest.cpp.

110{
111 if (os_) *os_ << "test()\n";
112
113 // set up analyzers
114
115 MSDataAnalyzerContainer analyzers;
116 analyzers.push_back(MSDataAnalyzerPtr(new SimpleAnalyzer(23))); // request index 23
117 analyzers.push_back(MSDataAnalyzerPtr(new SimpleAnalyzer(17))); // request index 17
118
119 unit_assert(analyzers.size() == 2);
120 for (MSDataAnalyzerContainer::const_iterator it=analyzers.begin(); it!=analyzers.end(); ++it)
121 {
122 const SimpleAnalyzer& anal = dynamic_cast<const SimpleAnalyzer&>(**it);
123 unit_assert(!anal.opened);
124 unit_assert(anal.updateCount == 0);
125 unit_assert(!anal.closed);
126 }
127
128 // instantiate MSData object
129
130 MSData dummy;
132 const int spectrumCount = 30;
133 for (int i=0; i<spectrumCount; i++)
134 {
135 sl->spectra.push_back(SpectrumPtr(new Spectrum));
136 sl->spectra.back()->index = i;
137 }
138 dummy.run.spectrumListPtr = sl;
139
140 // run driver
141
142 MSDataAnalyzerDriver driver(analyzers);
143 SimpleProgressCallback callback;
144 MSDataAnalyzerDriver::Status status = driver.analyze(dummy, &callback);
145
146 unit_assert(status == MSDataAnalyzerDriver::Status_Ok);
147
148 for (MSDataAnalyzerContainer::const_iterator it=analyzers.begin(); it!=analyzers.end(); ++it)
149 {
150 const SimpleAnalyzer& anal = dynamic_cast<const SimpleAnalyzer&>(**it);
151 unit_assert(anal.opened);
152 unit_assert(anal.updateCount == 1);
153 unit_assert(anal.closed);
154 }
155
156 unit_assert(callback.count == spectrumCount/callback.iterationsPerCallback() + 1);
157
158 // run driver again with cancel callback
159
160 if (os_) *os_ << "testing cancel callback:\n";
161
162 CancelProgressCallback cancelCallback;
163 status = driver.analyze(dummy, &cancelCallback);
164
165 unit_assert(status == MSDataAnalyzerDriver::Status_Cancel);
166
167 if (os_) *os_ << "cancelled!\n";
168
169 for (MSDataAnalyzerContainer::const_iterator it=analyzers.begin(); it!=analyzers.end(); ++it)
170 {
171 const SimpleAnalyzer& anal = dynamic_cast<const SimpleAnalyzer&>(**it);
172 unit_assert(anal.opened);
173 unit_assert(anal.updateCount == 0);
174 unit_assert(!anal.closed);
175 }
176
177 unit_assert(cancelCallback.count == 2);
178}
ostream * os_
const char * anal(const CVParam &cvParam)
container of MSDataAnalyzer (composite pattern)
event generator for MSDataAnalyzer
boost::shared_ptr< MSDataAnalyzer > MSDataAnalyzerPtr
boost::shared_ptr< Spectrum > SpectrumPtr
Definition MSData.hpp:573
boost::shared_ptr< SpectrumListSimple > SpectrumListSimplePtr
Definition MSData.hpp:731
virtual size_t iterationsPerCallback() const
This is the root element of ProteoWizard; it represents the mzML element, defined as: intended to cap...
Definition MSData.hpp:850
Run run
a run in mzML should correspond to a single, consecutive and coherent set of scans on an instrument.
Definition MSData.hpp:886
SpectrumListPtr spectrumListPtr
all mass spectra and the acquisitions underlying them are described and attached here....
Definition MSData.hpp:827
The structure that captures the generation of a peak list (including the underlying acquisitions)
Definition MSData.hpp:506
Simple writeable in-memory implementation of SpectrumList.
Definition MSData.hpp:717
#define unit_assert(x)
Definition unit.hpp:85

References anal(), pwiz::analysis::MSDataAnalyzerDriver::analyze(), SimpleProgressCallback::count, CancelProgressCallback::count, SimpleProgressCallback::iterationsPerCallback(), os_, pwiz::msdata::MSData::run, pwiz::msdata::Run::spectrumListPtr, and unit_assert.

Referenced by main().

◆ main()

int main ( int  argc,
char *  argv[] 
)

Definition at line 181 of file MSDataAnalyzerTest.cpp.

182{
183 TEST_PROLOG(argc, argv)
184
185 try
186 {
187 if (argc>1 && !strcmp(argv[1],"-v")) os_ = &cout;
188 test();
189 }
190 catch (exception& e)
191 {
192 TEST_FAILED(e.what())
193 }
194 catch (...)
195 {
196 TEST_FAILED("Caught unknown exception.")
197 }
198
200}
void test()
#define TEST_EPILOG
Definition unit.hpp:183
#define TEST_FAILED(x)
Definition unit.hpp:177
#define TEST_PROLOG(argc, argv)
Definition unit.hpp:175

References os_, test(), TEST_EPILOG, TEST_FAILED, and TEST_PROLOG.

Variable Documentation

◆ os_

ostream* os_ = 0