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

Go to the source code of this file.

Functions

shared_ptr< PeakelFieldcreateToyPeakelField ()
void testToy ()
void test ()
int main (int argc, char *argv[])

Variables

ostream * os_ = 0

Function Documentation

shared_ptr<PeakelField> createToyPeakelField ( )

Definition at line 38 of file PeakelPickerTest.cpp.

References e().

Referenced by testToy().

{
//
// 0 1 2
// |.....:.....|.....:.....|
// 10 x x o
// 20 x x o x
// 30 x x o x
// 40 x x o <-- feature z==3, noise Peakel at mono+.5
// 50
// 60 x x
// 70 x x x
// 80 x x x
// 90 x <-- feature z==2
//
shared_ptr<PeakelField> toy(new PeakelField);
PeakelPtr battery(new Peakel(Peak(0,10)));
battery->peaks.push_back(Peak(0, 20));
battery->peaks.push_back(Peak(0, 30));
battery->peaks.push_back(Peak(0, 40));
toy->insert(battery);
battery.reset(new Peakel(Peak(1./3 + 1e-6, 10)));
battery->peaks.push_back(Peak(1./3, 20));
battery->peaks.push_back(Peak(1./3, 30));
battery->peaks.push_back(Peak(1./3, 40));
toy->insert(battery);
battery.reset(new Peakel(Peak(.5, 10)));
battery->peaks.push_back(Peak(.5, 20));
battery->peaks.push_back(Peak(.5, 30));
battery->peaks.push_back(Peak(.5, 40));
toy->insert(battery);
battery.reset(new Peakel(Peak(2./3, 20)));
battery->peaks.push_back(Peak(2./3, 30));
toy->insert(battery);
battery.reset(new Peakel(Peak(1./3, 60)));
battery->peaks.push_back(Peak(1./3, 70));
battery->peaks.push_back(Peak(1./3, 80));
battery->peaks.push_back(Peak(1./3, 90));
toy->insert(battery);
battery.reset(new Peakel(Peak(1./3 + .5, 60)));
battery->peaks.push_back(Peak(1./3 + .5, 70));
battery->peaks.push_back(Peak(1./3 + .5, 80));
toy->insert(battery);
battery.reset(new Peakel(Peak(1./3 + 1, 70)));
battery->peaks.push_back(Peak(1./3 + 1, 80));
toy->insert(battery);
return toy;
}
void testToy ( )

Definition at line 97 of file PeakelPickerTest.cpp.

References createToyPeakelField(), pwiz::analysis::PeakelPicker_Basic::Config::log, os_, pwiz::analysis::PeakelPicker_Basic::pick(), unit_assert, and unit_assert_equal.

Referenced by test().

{
PeakelPicker_Basic::Config config; // TODO: specify parameters?
if (os_)
{
*os_ << "testToy()\n";
config.log = os_;
}
PeakelPicker_Basic peterPiper(config);
shared_ptr<PeakelField> peakels = createToyPeakelField();
unit_assert(peakels->size() == 7);
peterPiper.pick(*peakels, peck);
unit_assert(peck.size() == 2);
unit_assert(peakels->size() == 1);
FeatureField::const_iterator it = peck.begin();
unit_assert((*it)->mz == 0);
unit_assert((*it)->charge == 3);
unit_assert_equal((*it)->retentionTime, 25, 20);
++it;
unit_assert((*it)->mz == 1./3);
unit_assert((*it)->charge == 2);
unit_assert_equal((*it)->retentionTime, 75, 20);
}
void test ( )

Definition at line 130 of file PeakelPickerTest.cpp.

References testToy().

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

Definition at line 136 of file PeakelPickerTest.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 35 of file PeakelPickerTest.cpp.