ProteoWizard
TraDataTest.cpp
Go to the documentation of this file.
1 //
2 // $Id: TraDataTest.cpp 4129 2012-11-20 00:05:37Z 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, const 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:194
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
std::string value
Definition: ParamTypes.hpp:47
MS_MSn_spectrum
MSn spectrum: MSn refers to multi-stage MS/MS experiments designed to record product ion spectra wher...
Definition: cv.hpp:2204
bool hasCVParamChild(CVID cvid) const
returns true iff cvParams contains a child (is_a) of cvid (recursive)
PWIZ_API_DECL const CV & cv(const std::string &prefix)
returns a CV object for the specified namespace (prefix); currently supported namespaces are: MS UO ...
bool hasCVParam(CVID cvid) const
returns true iff cvParams contains exact cvid (recursive)
bool empty() const
returns true iff name, value, type, and units are all empty
#define TEST_EPILOG
Definition: unit.hpp:166
UserParam userParam(const std::string &) const
finds UserParam with specified name
MS_ms_level
ms level: Stages of ms achieved in a multi stage mass spectrometry experiment.
Definition: cv.hpp:1979
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:9329
MS_selected_ion_m_z
selected ion m/z: Mass-to-charge ratio of the ion selected for fragmentation.
Definition: cv.hpp:2741
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
std::vector< UserParam > userParams
a collection of uncontrolled user terms
Definition: ParamTypes.hpp:250
int main(int argc, char *argv[])
MS_ionization_type
ionization type: The method by which gas phase ions are generated from the sample.
Definition: cv.hpp:116
The base class for elements that may contain cvParams, userParams, or paramGroup references.
Definition: ParamTypes.hpp:241
std::vector< CVParam > cvParams
a collection of controlled vocabulary terms
Definition: ParamTypes.hpp:247
MS_reflectron_on
reflectron on: Reflectron is on.
Definition: cv.hpp:467
MS_spectrum_type
spectrum type: Spectrum type.
Definition: cv.hpp:2126
UO_minute
minute: A time unit which is equal to 60 seconds.
Definition: cv.hpp:9392
#define TEST_FAILED(x)
Definition: unit.hpp:160
void testParamContainer()
CVID_Unknown
Definition: cv.hpp:89
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:158
value_type valueAs() const
Templated value access with type conversion.
Definition: ParamTypes.hpp:211
CVParam cvParam(CVID cvid) const
finds cvid in the container:
MS_reflectron_off
reflectron off: Reflectron is off.
Definition: cv.hpp:464
#define unit_assert(x)
Definition: unit.hpp:82
represents a tag-value pair, where the tag comes from the controlled vocabulary
Definition: ParamTypes.hpp:44