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

Go to the source code of this file.

Functions

void printSpectrumList (const SpectrumList &sl, ostream &os)
SpectrumListPtr createSpectrumList ()
void verifySpectrumSize (const SpectrumList &sl, size_t index, size_t size)
void test ()
int main (int argc, char *argv[])

Variables

ostream * os_ = 0

Function Documentation

void printSpectrumList ( const SpectrumList sl,
ostream &  os 
)

Definition at line 38 of file SpectrumList_MZWindowTest.cpp.

References pwiz::msdata::SpectrumList::size(), and pwiz::msdata::SpectrumList::spectrum().

{
os << "size: " << sl.size() << endl;
for (size_t i=0, end=sl.size(); i<end; i++)
{
SpectrumPtr spectrum = sl.spectrum(i, false);
vector<MZIntensityPair> data;
spectrum->getMZIntensityPairs(data);
os << spectrum->index << " "
<< spectrum->id << ": ";
copy(data.begin(), data.end(), ostream_iterator<MZIntensityPair>(os, " "));
os << endl;
}
}
SpectrumListPtr createSpectrumList ( )

Definition at line 58 of file SpectrumList_MZWindowTest.cpp.

References boost::lexical_cast(), MS_number_of_counts, os_, and printSpectrumList().

{
for (size_t i=0; i<10; i++)
{
SpectrumPtr spectrum(new Spectrum);
spectrum->index = i;
spectrum->id = "scan=" + lexical_cast<string>(100+i);
// data: (i,1000) (i+1,1001) (i+2,1002) (i+3,1003) (i+4,1004)
vector<MZIntensityPair> data(5);
for (size_t j=0; j<5; j++) data[j] = MZIntensityPair(i+j, 1000+j);
spectrum->setMZIntensityPairs(data, MS_number_of_counts);
sl->spectra.push_back(spectrum);
}
if (os_)
{
*os_ << "original spectrum list:\n";
*os_ << endl;
}
return sl;
}
void verifySpectrumSize ( const SpectrumList sl,
size_t  index,
size_t  size 
)

Definition at line 87 of file SpectrumList_MZWindowTest.cpp.

References pwiz::msdata::SpectrumList::spectrum(), and unit_assert.

Referenced by test().

{
SpectrumPtr spectrum = sl.spectrum(index, true);
vector<MZIntensityPair> data;
spectrum->getMZIntensityPairs(data);
unit_assert(data.size() == size);
}
void test ( )

Definition at line 96 of file SpectrumList_MZWindowTest.cpp.

References createSpectrumList(), os_, printSpectrumList(), pwiz::msdata::SpectrumListWrapper::size(), unit_assert, and verifySpectrumSize().

{
for (size_t i=0; i<sl->size(); i++)
verifySpectrumSize(*sl, i, 5);
SpectrumList_MZWindow window(sl, 4.20, 6.66);
if (os_)
{
*os_ << "filtered list:\n";
*os_ << endl;
}
unit_assert(window.size() == sl->size());
verifySpectrumSize(window, 0, 0);
verifySpectrumSize(window, 1, 1);
verifySpectrumSize(window, 2, 2);
verifySpectrumSize(window, 3, 2);
verifySpectrumSize(window, 4, 2);
verifySpectrumSize(window, 5, 2);
verifySpectrumSize(window, 6, 1);
verifySpectrumSize(window, 7, 0);
verifySpectrumSize(window, 8, 0);
verifySpectrumSize(window, 9, 0);
}
int main ( int  argc,
char *  argv[] 
)

Definition at line 125 of file SpectrumList_MZWindowTest.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 SpectrumList_MZWindowTest.cpp.