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

void test ( )

Definition at line 109 of file MSDataAnalyzerTest.cpp.

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

{
if (os_) *os_ << "test()\n";
// set up analyzers
analyzers.push_back(MSDataAnalyzerPtr(new SimpleAnalyzer(23))); // request index 23
analyzers.push_back(MSDataAnalyzerPtr(new SimpleAnalyzer(17))); // request index 17
unit_assert(analyzers.size() == 2);
for (MSDataAnalyzerContainer::const_iterator it=analyzers.begin(); it!=analyzers.end(); ++it)
{
const SimpleAnalyzer& anal = dynamic_cast<const SimpleAnalyzer&>(**it);
}
// instantiate MSData object
MSData dummy;
const int spectrumCount = 30;
for (int i=0; i<spectrumCount; i++)
{
sl->spectra.push_back(SpectrumPtr(new Spectrum));
sl->spectra.back()->index = i;
}
dummy.run.spectrumListPtr = sl;
// run driver
MSDataAnalyzerDriver driver(analyzers);
MSDataAnalyzerDriver::Status status = driver.analyze(dummy, &callback);
for (MSDataAnalyzerContainer::const_iterator it=analyzers.begin(); it!=analyzers.end(); ++it)
{
const SimpleAnalyzer& anal = dynamic_cast<const SimpleAnalyzer&>(**it);
}
unit_assert(callback.count == spectrumCount/callback.iterationsPerCallback() + 1);
// run driver again with cancel callback
if (os_) *os_ << "testing cancel callback:\n";
CancelProgressCallback cancelCallback;
status = driver.analyze(dummy, &cancelCallback);
unit_assert(status == MSDataAnalyzerDriver::Status_Cancel);
if (os_) *os_ << "cancelled!\n";
for (MSDataAnalyzerContainer::const_iterator it=analyzers.begin(); it!=analyzers.end(); ++it)
{
const SimpleAnalyzer& anal = dynamic_cast<const SimpleAnalyzer&>(**it);
}
unit_assert(cancelCallback.count == 2);
}
int main ( int  argc,
char *  argv[] 
)

Definition at line 181 of file MSDataAnalyzerTest.cpp.

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

{
TEST_PROLOG(argc, argv)
try
{
if (argc>1 && !strcmp(argv[1],"-v")) os_ = &cout;
test();
}
catch (exception& e)
{
TEST_FAILED(e.what())
}
catch (...)
{
TEST_FAILED("Caught unknown exception.")
}
}

Variable Documentation

ostream* os_ = 0

Definition at line 34 of file MSDataAnalyzerTest.cpp.