ProteoWizard
Functions | Variables
SpectrumList_IonMobility_Test.cpp File Reference
#include "pwiz/utility/misc/unit.hpp"
#include "pwiz/utility/misc/Std.hpp"
#include "pwiz/utility/misc/almost_equal.hpp"
#include "pwiz/data/msdata/MSDataFile.hpp"
#include "pwiz/data/vendor_readers/ExtendedReaderList.hpp"
#include "SpectrumList_IonMobility.hpp"
#include "boost/foreach_field.hpp"

Go to the source code of this file.

Functions

void test (const string &filepath, const ReaderList &readerList)
 
void parseArgs (const vector< string > &args, vector< string > &rawpaths)
 
int main (int argc, char *argv[])
 

Variables

ostream * os_ = 0
 

Function Documentation

§ test()

void test ( const string &  filepath,
const ReaderList readerList 
)

Definition at line 37 of file SpectrumList_IonMobility_Test.cpp.

References pwiz::analysis::SpectrumList_IonMobility::driftTimeToCCS(), pwiz::msdata::MSData::run, pwiz::msdata::Run::spectrumListPtr, and unit_assert_equal_to_stream.

Referenced by main().

38 {
39  MSDataFile msd(filepath, &readerList);
40  const double EPSILON = 1e-4;
41 
42  if (bal::ends_with(filepath, "ImsSynth_Chrom.d"))
43  {
44  SpectrumList_IonMobility slim(msd.run.spectrumListPtr);
45  ostringstream failedTests;
46  unit_assert_equal_to_stream(242.55569, slim.driftTimeToCCS(32.62, 922.01, 1), EPSILON, failedTests);
47  unit_assert_equal_to_stream(195.69509, slim.driftTimeToCCS(25.78, 400.1755, 1), EPSILON, failedTests);
48  unit_assert_equal_to_stream(243.57694, slim.driftTimeToCCS(31.55, 254.0593, 1), EPSILON, failedTests);
49  unit_assert_equal_to_stream(202.32441, slim.driftTimeToCCS(26.98, 622.0291, 1), EPSILON, failedTests);
50  unit_assert_equal_to_stream(254.05743, slim.driftTimeToCCS(33.92, 609.2808, 1), EPSILON, failedTests);
51  unit_assert_equal_to_stream(172.09947, slim.driftTimeToCCS(22.38, 294.1601, 1), EPSILON, failedTests);
52  if (!failedTests.str().empty())
53  throw runtime_error(failedTests.str());
54  }
55 }
SpectrumList implementation that provides access to vendor-specific ion mobility functions.
#define unit_assert_equal_to_stream(x, y, epsilon, os)
Definition: unit.hpp:102
MSData object plus file I/O.
Definition: MSDataFile.hpp:40

§ parseArgs()

void parseArgs ( const vector< string > &  args,
vector< string > &  rawpaths 
)

Definition at line 58 of file SpectrumList_IonMobility_Test.cpp.

References os_.

Referenced by main().

59 {
60  for (size_t i = 1; i < args.size(); ++i)
61  {
62  if (args[i] == "-v") os_ = &cout;
63  else if (bal::starts_with(args[i], "--")) continue;
64  else rawpaths.push_back(args[i]);
65  }
66 }

§ main()

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

Definition at line 69 of file SpectrumList_IonMobility_Test.cpp.

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

70 {
71  TEST_PROLOG(argc, argv)
72 
73  try
74  {
75  vector<string> args(argv, argv+argc);
76  vector<string> rawpaths;
77  parseArgs(args, rawpaths);
78 
79  ExtendedReaderList readerList;
80 
81  BOOST_FOREACH(const string& filepath, rawpaths)
82  {
83  test(filepath, readerList);
84  }
85  }
86  catch (exception& e)
87  {
88  TEST_FAILED(e.what())
89  }
90  catch (...)
91  {
92  TEST_FAILED("Caught unknown exception.")
93  }
94 
96 }
void test(const string &filepath, const ReaderList &readerList)
#define TEST_EPILOG
Definition: unit.hpp:182
default ReaderList, extended to include vendor readers
#define TEST_FAILED(x)
Definition: unit.hpp:176
#define TEST_PROLOG(argc, argv)
Definition: unit.hpp:174
void parseArgs(const vector< string > &args, vector< string > &rawpaths)

Variable Documentation

§ os_

ostream* os_ = 0

Definition at line 35 of file SpectrumList_IonMobility_Test.cpp.

Referenced by parseArgs().