ProteoWizard
TraDataTest.cpp
Go to the documentation of this file.
1 //
2 // $Id: TraDataTest.cpp 6141 2014-05-05 21:03:47Z chambm $
3 //
4 //
5 // Original author: Matt Chambers <matt.chambers .@. vanderbilt.edu>
6 //
7 // Copyright 2009 Vanderbilt University - Nashville, TN 37232
8 //
9 // Licensed under the Apache License, Version 2.0 (the "License");
10 // you may not use this file except in compliance with the License.
11 // You may obtain a copy of the License at
12 //
13 // http://www.apache.org/licenses/LICENSE-2.0
14 //
15 // Unless required by applicable law or agreed to in writing, software
16 // distributed under the License is distributed on an "AS IS" BASIS,
17 // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
18 // See the License for the specific language governing permissions and
19 // limitations under the License.
20 //
21 
22 
23 #include "TraData.hpp"
26 
27 using namespace pwiz::cv;
28 using namespace pwiz::util;
29 using namespace pwiz::tradata;
30 
31 
33 {
34  ParamContainer pc;
35  pc.cvParams.push_back(MS_reflectron_on);
36  pc.cvParams.push_back(MS_MSn_spectrum);
37  pc.cvParams.push_back(MS_reflectron_off);
38  pc.cvParams.push_back(CVParam(MS_ionization_type, 420));
39  pc.userParams.push_back(UserParam("name1", "1", "type1", UO_second));
40  pc.userParams.push_back(UserParam("name2", "2", "type2", UO_minute));
41 
44 
46 
49 
51 
52  string result = "goober";
53  result = pc.cvParam(MS_selected_ion_m_z).value;
54  unit_assert(result == "");
55  result = pc.cvParam(MS_ionization_type).value;
56  unit_assert(result == "420");
57 
58  UserParam userParam = pc.userParam("name");
59  unit_assert(userParam.empty());
60  userParam = pc.userParam("name1");
61  unit_assert(userParam.name == "name1");
62  unit_assert(userParam.valueAs<int>() == 1);
63  unit_assert(userParam.type == "type1");
64  unit_assert(userParam.units == UO_second);
65  userParam = pc.userParam("name2");
66  unit_assert(userParam.name == "name2");
67  unit_assert(userParam.valueAs<double>() == 2);
68  unit_assert(userParam.type == "type2");
69  unit_assert(userParam.units == UO_minute);
70  unit_assert(pc.userParam("goober").valueAs<int>() == 0);
71 
72  pc.set(MS_ms_level, 2);
73  unit_assert(pc.cvParam(MS_ms_level).valueAs<int>() == 2);
74  pc.set(MS_ms_level, 3);
75  unit_assert(pc.cvParam(MS_ms_level).valueAs<int>() == 3);
76 
77  pc.set(MS_deisotoping, true);
78  unit_assert(pc.cvParam(MS_deisotoping).valueAs<bool>() == true);
79  pc.set(MS_deisotoping, false);
80  unit_assert(pc.cvParam(MS_deisotoping).valueAs<bool>() == false);
81 }
82 
83 
84 int main(int argc, char* argv[])
85 {
86  TEST_PROLOG(argc, argv)
87 
88  try
89  {
91  }
92  catch (exception& e)
93  {
94  TEST_FAILED(e.what())
95  }
96  catch (...)
97  {
98  TEST_FAILED("Caught unknown exception.")
99  }
100 
102 }
MS_deisotoping
deisotoping: The removal of isotope peaks to represent the fragment ion as one data point and is comm...
Definition: cv.hpp:202
std::string value
Definition: ParamTypes.hpp:47
MS_MSn_spectrum
MSn spectrum: MSn refers to multi-stage MS2 experiments designed to record product ion spectra where ...
Definition: cv.hpp:2212
CVParam cvParam(CVID cvid) const
finds cvid in the container:
void testParamContainer()
Definition: TraDataTest.cpp:32
#define TEST_EPILOG
Definition: unit.hpp:182
MS_ms_level
ms level: Stages of ms achieved in a multi stage mass spectrometry experiment.
Definition: cv.hpp:1987
UO_second
second: A time unit which is equal to the duration of 9 192 631 770 periods of the radiation correspo...
Definition: cv.hpp:12526
MS_selected_ion_m_z
selected ion m/z: Mass-to-charge ratio of an selected ion.
Definition: cv.hpp:2749
UserParam userParam(const std::string &) const
finds UserParam with specified name
bool empty() const
returns true iff name, value, type, and units are all empty
Uncontrolled user parameters (essentially allowing free text). Before using these, one should verify whether there is an appropriate CV term available, and if so, use the CV term instead.
Definition: ParamTypes.hpp:185
bool hasCVParam(CVID cvid) const
returns true iff cvParams contains exact cvid (recursive)
std::vector< UserParam > userParams
a collection of uncontrolled user terms
Definition: ParamTypes.hpp:253
MS_ionization_type
ionization type: The method by which gas phase ions are generated from the sample.
Definition: cv.hpp:124
The base class for elements that may contain cvParams, userParams, or paramGroup references.
Definition: ParamTypes.hpp:244
std::vector< CVParam > cvParams
a collection of controlled vocabulary terms
Definition: ParamTypes.hpp:250
int main(int argc, char *argv[])
Definition: TraDataTest.cpp:84
MS_reflectron_on
reflectron on: Reflectron is on.
Definition: cv.hpp:475
MS_spectrum_type
spectrum type: Spectrum type.
Definition: cv.hpp:2134
UO_minute
minute: A time unit which is equal to 60 seconds.
Definition: cv.hpp:12589
#define TEST_FAILED(x)
Definition: unit.hpp:176
value_type valueAs() const
Templated value access with type conversion.
Definition: ParamTypes.hpp:214
CVID_Unknown
Definition: cv.hpp:97
bool hasCVParamChild(CVID cvid) const
returns true iff cvParams contains a child (is_a) of cvid (recursive)
void set(CVID cvid, const std::string &value="", CVID units=CVID_Unknown)
set/add a CVParam (not recursive)
#define TEST_PROLOG(argc, argv)
Definition: unit.hpp:174
MS_reflectron_off
reflectron off: Reflectron is off.
Definition: cv.hpp:472
CVParam cvParamChild(CVID cvid) const
finds child of cvid in the container:
value_type valueAs() const
templated value access with type conversion
Definition: ParamTypes.hpp:112
#define unit_assert(x)
Definition: unit.hpp:85
Definition: cv.hpp:91
represents a tag-value pair, where the tag comes from the controlled vocabulary
Definition: ParamTypes.hpp:44