44{
46
47 #if defined(PWIZ_READER_THERMO) && !defined(PWIZ_READER_THERMO_TEST_ACCEPT_ONLY)
48 const bool testAcceptOnly = false;
49 #else
50 const bool testAcceptOnly = true;
51 #endif
52
53 try
54 {
55 #ifdef PWIZ_READER_THERMO
56
62
63
64 bool allInstrumentTestsPassed = true;
65 for (int i=0; i < (int) InstrumentModelType_Count; ++i)
66 {
67 InstrumentModelType model = (InstrumentModelType) i;
68
69 try
70 {
72
75
76 switch (model)
77 {
78 case InstrumentModelType_Tempus_TOF:
79 case InstrumentModelType_Element_2:
80 case InstrumentModelType_Element_XR:
81 case InstrumentModelType_Element_GD:
82 case InstrumentModelType_Delta_Plus_Advantage:
83 case InstrumentModelType_Delta_Plus_XP:
84 case InstrumentModelType_Neptune:
85 case InstrumentModelType_Triton:
87 break;
88
89 default:
91 break;
92 }
93
94
95 vector<IonizationType> ionizationTypes = getIonSourcesForInstrumentModel(model);
96
97 switch (model)
98 {
99 case InstrumentModelType_Element_XR:
100 case InstrumentModelType_Element_2:
101 case InstrumentModelType_Delta_Plus_Advantage:
102 case InstrumentModelType_Delta_Plus_XP:
103 case InstrumentModelType_Neptune:
104 case InstrumentModelType_Tempus_TOF:
105 case InstrumentModelType_Triton:
106 case InstrumentModelType_MAT253:
107 case InstrumentModelType_MAT900XP:
108 case InstrumentModelType_MAT900XP_Trap:
109 case InstrumentModelType_MAT95XP:
110 case InstrumentModelType_MAT95XP_Trap:
111 case InstrumentModelType_Surveyor_PDA:
112 case InstrumentModelType_Accela_PDA:
114 break;
115
116 default:
118 break;
119 }
120
121
122 vector<MassAnalyzerType> massAnalyzerTypes = getMassAnalyzersForInstrumentModel(model);
123
124 switch (model)
125 {
126 case InstrumentModelType_Element_XR:
127 case InstrumentModelType_Element_2:
128 case InstrumentModelType_Element_GD:
129 case InstrumentModelType_Delta_Plus_Advantage:
130 case InstrumentModelType_Delta_Plus_XP:
131 case InstrumentModelType_Neptune:
132 case InstrumentModelType_Triton:
133 case InstrumentModelType_Surveyor_PDA:
134 case InstrumentModelType_Accela_PDA:
136 break;
137
138 default:
140 break;
141 }
142
143
144 vector<DetectorType> detectorTypes = getDetectorsForInstrumentModel(model);
145
146 switch (model)
147 {
148 case InstrumentModelType_Element_GD:
149 case InstrumentModelType_Element_XR:
150 case InstrumentModelType_Element_2:
151 case InstrumentModelType_Delta_Plus_Advantage:
152 case InstrumentModelType_Delta_Plus_XP:
153 case InstrumentModelType_Neptune:
154 case InstrumentModelType_Tempus_TOF:
155 case InstrumentModelType_Triton:
156 case InstrumentModelType_MAT253:
157 case InstrumentModelType_MAT900XP:
158 case InstrumentModelType_MAT900XP_Trap:
159 case InstrumentModelType_MAT95XP:
160 case InstrumentModelType_MAT95XP_Trap:
162 break;
163
164 default:
166 break;
167 }
168
169
170 BOOST_FOREACH(MassAnalyzerType realType, massAnalyzerTypes)
171 {
172 bool hasCorrespondingScanFilterType = false;
173 for (int j=0; j < (int) ScanFilterMassAnalyzerType_Count; ++j)
174 if (convertScanFilterMassAnalyzer((ScanFilterMassAnalyzerType) j, model) == realType)
175 hasCorrespondingScanFilterType = true;
177 }
178 }
179 catch (runtime_error& e)
180 {
181 cerr << "Unit test failed for instrument model " << lexical_cast<string>(model) << ":\n" << e.what() << endl;
182 allInstrumentTestsPassed = false;
183 }
184 }
185
187 #endif
188
189 bool requireUnicodeSupport = true;
193
196
197 #ifdef PWIZ_READER_THERMO
198
199 ::SetThreadLocale(LANG_TURKISH);
201 #endif
202 }
203 catch (exception& e)
204 {
206 }
207 catch (...)
208 {
210 }
211
213}
PWIZ_API_DECL std::vector< InstrumentConfiguration > createInstrumentConfigurations(pwiz::vendor_api::Bruker::CompassDataPtr rawfile)
PWIZ_API_DECL CVID translateAsInstrumentModel(InstrumentModelType instrumentModelType)
PWIZ_API_DECL int testReader(const pwiz::msdata::Reader &reader, const std::vector< std::string > &args, bool testAcceptOnly, bool requireUnicodeSupport, const TestPathPredicate &isPathTestable, const ReaderTestConfig &config=ReaderTestConfig())
A common test harness for vendor readers;.
A component of an instrument corresponding to a source (i.e. ion source), an analyzer (i....
#define TEST_PROLOG(argc, argv)