ProteoWizard
TraDataTest.cpp
Go to the documentation of this file.
1//
2// $Id$
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
27using namespace pwiz::cv;
28using namespace pwiz::util;
29using namespace pwiz::tradata;
30
31
33{
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";
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
84int 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}
int main(int argc, char *argv[])
void testParamContainer()
MS_spectrum_type
spectrum type: Spectrum type.
Definition cv.hpp:2286
UO_minute
minute: A time unit which is equal to 60 seconds.
Definition cv.hpp:13896
MS_reflectron_on
reflectron on: Reflectron is on.
Definition cv.hpp:636
MS_ms_level
ms level: Stages of ms achieved in a multi stage mass spectrometry experiment.
Definition cv.hpp:2139
MS_MSn_spectrum
MSn spectrum: MSn refers to multi-stage MS2 experiments designed to record product ion spectra where ...
Definition cv.hpp:2364
CVID_Unknown
Definition cv.hpp:114
MS_selected_ion_m_z
selected ion m/z: Mass-to-charge ratio of an selected ion.
Definition cv.hpp:2901
MS_deisotoping
deisotoping: The removal of isotope peaks to represent the fragment ion as one data point and is comm...
Definition cv.hpp:363
MS_ionization_type
ionization type: The method by which gas phase ions are generated from the sample.
Definition cv.hpp:285
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:13833
MS_reflectron_off
reflectron off: Reflectron is off.
Definition cv.hpp:633
represents a tag-value pair, where the tag comes from the controlled vocabulary
value_type valueAs() const
templated value access with type conversion
The base class for elements that may contain cvParams, userParams, or paramGroup references.
void set(CVID cvid, const std::string &value="", CVID units=CVID_Unknown)
set/add a CVParam (not recursive)
bool hasCVParamChild(CVID cvid) const
returns true iff cvParams contains a child (is_a) of cvid (recursive)
CVParam cvParam(CVID cvid) const
finds cvid in the container:
std::vector< CVParam > cvParams
a collection of controlled vocabulary terms
UserParam userParam(const std::string &) const
finds UserParam with specified name
std::vector< UserParam > userParams
a collection of uncontrolled user terms
CVParam cvParamChild(CVID cvid) const
finds child of cvid in the container:
bool hasCVParam(CVID cvid) const
returns true iff cvParams contains exact cvid (recursive)
Uncontrolled user parameters (essentially allowing free text). Before using these,...
CVID units
an optional CV parameter for the unit term associated with the value, if any (e.g....
value_type valueAs() const
Templated value access with type conversion.
bool empty() const
returns true iff name, value, type, and units are all empty
std::string name
the name for the parameter.
std::string type
the datatype of the parameter, where appropriate (e.g.: xsd:float).
#define unit_assert(x)
Definition unit.hpp:85
#define TEST_EPILOG
Definition unit.hpp:183
#define TEST_FAILED(x)
Definition unit.hpp:177
#define TEST_PROLOG(argc, argv)
Definition unit.hpp:175