23 #define ASSERT(f) assert( (f) ); 28 #define TEST(f) { if(!(f)) return false; } 40 paths.push_back(
"samples/ranges/test10.rng");
41 paths.push_back(
"samples/ranges/test11.rng");
42 paths.push_back(
"samples/ranges/test12.rng");
43 paths.push_back(
"samples/ranges/test1.env");
44 paths.push_back(
"samples/ranges/test1.rng");
45 paths.push_back(
"samples/ranges/test1.rrng");
46 paths.push_back(
"samples/ranges/test2.rng");
47 paths.push_back(
"samples/ranges/test2.rrng");
48 paths.push_back(
"samples/ranges/test3.rng");
49 paths.push_back(
"samples/ranges/test3.rrng");
50 paths.push_back(
"samples/ranges/test4.rng");
51 paths.push_back(
"samples/ranges/test4.rrng");
52 paths.push_back(
"samples/ranges/test5.rng");
53 paths.push_back(
"samples/ranges/test5.rrng");
54 paths.push_back(
"samples/ranges/test6.rrng");
55 paths.push_back(
"samples/ranges/test7.rng");
56 paths.push_back(
"samples/ranges/test8.rng");
57 paths.push_back(
"samples/ranges/test9.rng");
63 void gsl_catch_errors(
const char *reason,
const char *file,
int line,
int gsl_errno)
65 cerr <<
"Failed because :" << reason <<
" in file " << file <<
" line" << line <<
" error number :" << gsl_errno << endl;
76 gsl_set_error_handler(gsl_catch_errors);
78 bool haveAbundance=
false;
80 if(!abundance.
open(
"naturalAbundance.xml"))
83 cerr <<
"Testing overlap...";
84 TEST(testDeconvolve());
85 cerr <<
"\tDone" << endl;
87 cerr <<
"Testing rotation...";
88 TEST(testRotationAlgorithms());
89 cerr <<
"\tDone" << endl;
93 cerr <<
"Testing Convex Hull...";
94 TEST(testConvexHull());
95 cerr <<
"\tDone" << endl;
97 cerr <<
"Testing progress bar...";
98 TEST(testProgressBar());
100 cerr <<
"KD tree...";
101 TEST(K3DTreeExact::runUnitTests());
102 TEST(K3DTreeApprox::test());
103 cerr <<
"\tDone" << endl;
105 cerr <<
"Mesh tests...";
107 cerr <<
"\tDone" << endl;
109 cerr <<
"Testing sampling...";
111 cerr <<
"\tDone" << endl;
113 cerr <<
"Isotope tests..." ;
114 TEST(AbundanceData::runUnitTests())
115 cerr <<
"\tDone" << endl;
117 cerr <<
"Knapsack tests..." ;
118 TEST(MassTool::runUnitTests())
119 cerr <<
"\tDone" << endl;
121 cerr <<
"Overlap tests..." ;
122 TEST(testOverlapDetect());
123 cerr <<
"\tDone" << endl;
125 cerr <<
"Projection tests..." ;
126 TEST(testProjection());
127 cerr <<
"\tDone" << endl;
129 cerr <<
"Miller index tests...";
131 cerr <<
"\tDone" << endl;
133 cerr <<
"Reconstruction tests...";
135 cerr <<
"\tDone" << endl;
137 cerr <<
"Isotope Filter tests...";
138 TEST(AtomProbe::isotopeFilterTests());
139 cerr <<
"\tDone" << endl;
141 vector<string> rangeFilePaths;
144 cerr <<
"Range tests...";
145 for(
auto ui=0; ui < rangeFilePaths.size();ui++)
148 TEST(rng.
open(rangeFilePaths[ui].c_str()));
152 TEST(RangeFile::test());
153 TEST(MultiRange::test());
157 cerr <<
"(+Multi-split)...";
158 TEST(MultiRange::testSplit(abundance));
160 cerr <<
"\tDone" << endl;
162 cerr <<
"Range check tests...";
163 TEST(AtomProbe::testRangeChecking());
164 cerr <<
"\tDone" << endl;
166 cerr <<
"Generation tests....";
167 TEST(AtomProbe::runGenerateTests());
168 cerr <<
"\tDone" << endl;
170 cerr <<
"Mass<>mol conversion...";
171 TEST(AtomProbe::testMassMolConversion());
172 cerr <<
"\tDone" << endl;
174 cerr <<
"Composition tests....";
175 TEST(AtomProbe::testComposition());
176 cerr <<
"\tDone" << endl;
178 cerr <<
"Statistics tests....";
179 TEST(AtomProbe::runConfidenceTests());
180 cerr <<
"\tDone" << endl;
182 cerr <<
"Spectrum tests....";
183 TEST(AtomProbe::testBackgroundFitMaths());
184 cerr <<
"\tDone" << endl;
185 cerr <<
"Voxel tests....";
186 TEST(AtomProbe::runVoxelTests());
187 cerr <<
"\tDone" << endl;
189 cerr <<
"Isosurface tests...";
190 TEST(AtomProbe::testIsoSurface());
191 cerr <<
"\tDone" << endl;
193 cerr <<
"Misc. Maths tests....";
194 TEST(AtomProbe::runMiscMathsTests());
195 TEST(AtomProbe::testPoint3D());
196 TEST(AtomProbe::testIonHit());
197 cerr <<
"\tDone" << endl;
201 cerr <<
"Ion Adjacency tests...";
202 TEST(AtomProbe::runMiscMathsTests());
203 cerr <<
"\tDone" << endl;
206 cerr <<
"Skipping Ion Adjacency ; no abundance" << endl;
209 cerr <<
"Tests not enabled in release mode. Please recompile in debug mode" << endl;
216 cerr <<
"Running test program " << endl;
219 cerr <<
"unit tests failed" << endl;
vector< string > rangePaths()
bool isSelfConsistent() const
Performs checks for self consistency.
size_t open(const char *file, bool strict=false)
Attempt to open the abundance data file, return 0 on success, nonzero on failure. ...
Class to load abundance information for natural isotopes.
bool open(const char *rangeFile)
Open a specified range file - returns true on success.
Data storage and retrieval class for various range files.