File: ClassTest_8h_source.html

package info (click to toggle)
openms 1.11.1-5
  • links: PTS, VCS
  • area: main
  • in suites: jessie, jessie-kfreebsd
  • size: 436,688 kB
  • ctags: 150,907
  • sloc: cpp: 387,126; xml: 71,547; python: 7,764; ansic: 2,626; php: 2,499; sql: 737; ruby: 342; sh: 325; makefile: 128
file content (912 lines) | stat: -rw-r--r-- 187,689 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
<HTML>
<HEAD>
<TITLE>ClassTest.h Source File</TITLE>
<LINK HREF="doxygen.css" REL="stylesheet" TYPE="text/css">
<LINK HREF="style_ini.css" REL="stylesheet" TYPE="text/css">
</HEAD>
<BODY BGCOLOR="#FFFFFF">
<A href="index.html">Home</A> &nbsp;&middot;
<A href="classes.html">Classes</A> &nbsp;&middot;
<A href="annotated.html">Annotated Classes</A> &nbsp;&middot;
<A href="modules.html">Modules</A> &nbsp;&middot;
<A href="functions_func.html">Members</A> &nbsp;&middot;
<A href="namespaces.html">Namespaces</A> &nbsp;&middot;
<A href="pages.html">Related Pages</A>
<HR style="height:1px; border:none; border-top:1px solid #c0c0c0;">
<!-- Generated by Doxygen 1.8.5 -->
<div id="nav-path" class="navpath">
  <ul>
<li class="navelem"><a class="el" href="dir_e770f0cf77e550adde3f44739ef529fe.html">include</a></li><li class="navelem"><a class="el" href="dir_6a63c4937d4da007e55fff5dcf71e0f8.html">OpenMS</a></li><li class="navelem"><a class="el" href="dir_011a45043daec2a54ce98ec17491dac6.html">CONCEPT</a></li>  </ul>
</div>
</div><!-- top -->
<div class="header">
  <div class="headertitle">
<div class="title">ClassTest.h</div>  </div>
</div><!--header-->
<div class="contents">
<a href="ClassTest_8h.html">Go to the documentation of this file.</a><div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno">    1</span>&#160;<span class="comment">// --------------------------------------------------------------------------</span></div>
<div class="line"><a name="l00002"></a><span class="lineno">    2</span>&#160;<span class="comment">//                   OpenMS -- Open-Source Mass Spectrometry</span></div>
<div class="line"><a name="l00003"></a><span class="lineno">    3</span>&#160;<span class="comment">// --------------------------------------------------------------------------</span></div>
<div class="line"><a name="l00004"></a><span class="lineno">    4</span>&#160;<span class="comment">// Copyright The OpenMS Team -- Eberhard Karls University Tuebingen,</span></div>
<div class="line"><a name="l00005"></a><span class="lineno">    5</span>&#160;<span class="comment">// ETH Zurich, and Freie Universitaet Berlin 2002-2013.</span></div>
<div class="line"><a name="l00006"></a><span class="lineno">    6</span>&#160;<span class="comment">//</span></div>
<div class="line"><a name="l00007"></a><span class="lineno">    7</span>&#160;<span class="comment">// This software is released under a three-clause BSD license:</span></div>
<div class="line"><a name="l00008"></a><span class="lineno">    8</span>&#160;<span class="comment">//  * Redistributions of source code must retain the above copyright</span></div>
<div class="line"><a name="l00009"></a><span class="lineno">    9</span>&#160;<span class="comment">//    notice, this list of conditions and the following disclaimer.</span></div>
<div class="line"><a name="l00010"></a><span class="lineno">   10</span>&#160;<span class="comment">//  * Redistributions in binary form must reproduce the above copyright</span></div>
<div class="line"><a name="l00011"></a><span class="lineno">   11</span>&#160;<span class="comment">//    notice, this list of conditions and the following disclaimer in the</span></div>
<div class="line"><a name="l00012"></a><span class="lineno">   12</span>&#160;<span class="comment">//    documentation and/or other materials provided with the distribution.</span></div>
<div class="line"><a name="l00013"></a><span class="lineno">   13</span>&#160;<span class="comment">//  * Neither the name of any author or any participating institution</span></div>
<div class="line"><a name="l00014"></a><span class="lineno">   14</span>&#160;<span class="comment">//    may be used to endorse or promote products derived from this software</span></div>
<div class="line"><a name="l00015"></a><span class="lineno">   15</span>&#160;<span class="comment">//    without specific prior written permission.</span></div>
<div class="line"><a name="l00016"></a><span class="lineno">   16</span>&#160;<span class="comment">// For a full list of authors, refer to the file AUTHORS.</span></div>
<div class="line"><a name="l00017"></a><span class="lineno">   17</span>&#160;<span class="comment">// --------------------------------------------------------------------------</span></div>
<div class="line"><a name="l00018"></a><span class="lineno">   18</span>&#160;<span class="comment">// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS &quot;AS IS&quot;</span></div>
<div class="line"><a name="l00019"></a><span class="lineno">   19</span>&#160;<span class="comment">// AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE</span></div>
<div class="line"><a name="l00020"></a><span class="lineno">   20</span>&#160;<span class="comment">// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE</span></div>
<div class="line"><a name="l00021"></a><span class="lineno">   21</span>&#160;<span class="comment">// ARE DISCLAIMED. IN NO EVENT SHALL ANY OF THE AUTHORS OR THE CONTRIBUTING</span></div>
<div class="line"><a name="l00022"></a><span class="lineno">   22</span>&#160;<span class="comment">// INSTITUTIONS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,</span></div>
<div class="line"><a name="l00023"></a><span class="lineno">   23</span>&#160;<span class="comment">// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,</span></div>
<div class="line"><a name="l00024"></a><span class="lineno">   24</span>&#160;<span class="comment">// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;</span></div>
<div class="line"><a name="l00025"></a><span class="lineno">   25</span>&#160;<span class="comment">// OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,</span></div>
<div class="line"><a name="l00026"></a><span class="lineno">   26</span>&#160;<span class="comment">// WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR</span></div>
<div class="line"><a name="l00027"></a><span class="lineno">   27</span>&#160;<span class="comment">// OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF</span></div>
<div class="line"><a name="l00028"></a><span class="lineno">   28</span>&#160;<span class="comment">// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.</span></div>
<div class="line"><a name="l00029"></a><span class="lineno">   29</span>&#160;<span class="comment">//</span></div>
<div class="line"><a name="l00030"></a><span class="lineno">   30</span>&#160;<span class="comment">// --------------------------------------------------------------------------</span></div>
<div class="line"><a name="l00031"></a><span class="lineno">   31</span>&#160;<span class="comment">// $Maintainer: Stephan Aiche $</span></div>
<div class="line"><a name="l00032"></a><span class="lineno">   32</span>&#160;<span class="comment">// $Authors: Marc Sturm, Clemens Groepl $</span></div>
<div class="line"><a name="l00033"></a><span class="lineno">   33</span>&#160;<span class="comment">// --------------------------------------------------------------------------</span></div>
<div class="line"><a name="l00034"></a><span class="lineno">   34</span>&#160;</div>
<div class="line"><a name="l00035"></a><span class="lineno">   35</span>&#160;<span class="preprocessor">#ifndef OPENMS_CONCEPT_CLASSTEST_H</span></div>
<div class="line"><a name="l00036"></a><span class="lineno">   36</span>&#160;<span class="preprocessor"></span><span class="preprocessor">#define OPENMS_CONCEPT_CLASSTEST_H</span></div>
<div class="line"><a name="l00037"></a><span class="lineno">   37</span>&#160;<span class="preprocessor"></span></div>
<div class="line"><a name="l00038"></a><span class="lineno">   38</span>&#160;<span class="comment">// Avoid OpenMS includes here at all costs</span></div>
<div class="line"><a name="l00039"></a><span class="lineno">   39</span>&#160;<span class="comment">// When the included headers are changed, *all* tests have to be recompiled!</span></div>
<div class="line"><a name="l00040"></a><span class="lineno">   40</span>&#160;<span class="comment">// Use the ClassTest class if you need add high-level functionality.</span></div>
<div class="line"><a name="l00041"></a><span class="lineno">   41</span>&#160;<span class="comment">// Includes in the C-file are ok...</span></div>
<div class="line"><a name="l00042"></a><span class="lineno">   42</span>&#160;<span class="preprocessor">#include &lt;<a class="code" href="Types_8h.html">OpenMS/CONCEPT/Types.h</a>&gt;</span></div>
<div class="line"><a name="l00043"></a><span class="lineno">   43</span>&#160;<span class="preprocessor">#include &lt;<a class="code" href="Exception_8h.html">OpenMS/CONCEPT/Exception.h</a>&gt;</span></div>
<div class="line"><a name="l00044"></a><span class="lineno">   44</span>&#160;<span class="preprocessor">#include &lt;<a class="code" href="UniqueIdGenerator_8h.html">OpenMS/CONCEPT/UniqueIdGenerator.h</a>&gt;</span></div>
<div class="line"><a name="l00045"></a><span class="lineno">   45</span>&#160;<span class="preprocessor">#include &lt;<a class="code" href="File_8h.html">OpenMS/SYSTEM/File.h</a>&gt;</span></div>
<div class="line"><a name="l00046"></a><span class="lineno">   46</span>&#160;</div>
<div class="line"><a name="l00047"></a><span class="lineno">   47</span>&#160;<span class="preprocessor">#include &lt;vector&gt;</span></div>
<div class="line"><a name="l00048"></a><span class="lineno">   48</span>&#160;<span class="preprocessor">#include &lt;string&gt;</span></div>
<div class="line"><a name="l00049"></a><span class="lineno">   49</span>&#160;<span class="preprocessor">#include &lt;cstring&gt;</span></div>
<div class="line"><a name="l00050"></a><span class="lineno">   50</span>&#160;<span class="preprocessor">#include &lt;list&gt;</span></div>
<div class="line"><a name="l00051"></a><span class="lineno">   51</span>&#160;<span class="preprocessor">#include &lt;iostream&gt;</span></div>
<div class="line"><a name="l00052"></a><span class="lineno">   52</span>&#160;<span class="preprocessor">#include &lt;fstream&gt;</span></div>
<div class="line"><a name="l00053"></a><span class="lineno">   53</span>&#160;<span class="preprocessor">#include &lt;boost/lexical_cast.hpp&gt;</span></div>
<div class="line"><a name="l00054"></a><span class="lineno">   54</span>&#160;</div>
<div class="line"><a name="l00055"></a><span class="lineno">   55</span>&#160;<span class="preprocessor">#ifdef OPENMS_HAS_UNISTD_H</span></div>
<div class="line"><a name="l00056"></a><span class="lineno">   56</span>&#160;<span class="preprocessor"></span><span class="preprocessor">#include &lt;unistd.h&gt;</span> <span class="comment">// unlink()</span></div>
<div class="line"><a name="l00057"></a><span class="lineno">   57</span>&#160;<span class="preprocessor">#endif</span></div>
<div class="line"><a name="l00058"></a><span class="lineno">   58</span>&#160;<span class="preprocessor"></span></div>
<div class="line"><a name="l00059"></a><span class="lineno">   59</span>&#160;<span class="preprocessor">#include &lt;cstdio&gt;</span> <span class="comment">// tmpnam()</span></div>
<div class="line"><a name="l00060"></a><span class="lineno">   60</span>&#160;<span class="preprocessor">#include &lt;cmath&gt;</span> <span class="comment">// fabs</span></div>
<div class="line"><a name="l00061"></a><span class="lineno">   61</span>&#160;<span class="preprocessor">#include &lt;cstdlib&gt;</span> <span class="comment">// getenv()</span></div>
<div class="line"><a name="l00062"></a><span class="lineno">   62</span>&#160;</div>
<div class="line"><a name="l00063"></a><span class="lineno">   63</span>&#160;<span class="comment">// Empty declaration to avoid problems in case the namespace is not</span></div>
<div class="line"><a name="l00064"></a><span class="lineno">   64</span>&#160;<span class="comment">// yet defined (e.g. TEST/ClassTest_test.C)</span></div>
<div class="line"><a name="l00065"></a><span class="lineno">   65</span>&#160;</div>
<div class="line"><a name="l00067"></a><span class="lineno">   67</span>&#160;<span class="preprocessor">#ifndef std__cout</span></div>
<div class="line"><a name="l00068"></a><span class="lineno"><a class="line" href="ClassTest_8h.html#aa2a98d9e6fcf172ec0e1572f5fdff3f1">   68</a></span>&#160;<span class="preprocessor"></span><span class="preprocessor">#define std__cout std::cout</span></div>
<div class="line"><a name="l00069"></a><span class="lineno">   69</span>&#160;<span class="preprocessor"></span><span class="preprocessor">#endif</span></div>
<div class="line"><a name="l00070"></a><span class="lineno">   70</span>&#160;<span class="preprocessor"></span></div>
<div class="line"><a name="l00071"></a><span class="lineno">   71</span>&#160;<span class="keyword">namespace </span>OpenMS</div>
<div class="line"><a name="l00072"></a><span class="lineno">   72</span>&#160;{</div>
<div class="line"><a name="l00073"></a><span class="lineno">   73</span>&#160;  <span class="keyword">namespace </span>Internal</div>
<div class="line"><a name="l00074"></a><span class="lineno">   74</span>&#160;  {</div>
<div class="line"><a name="l00076"></a><span class="lineno"><a class="line" href="namespaceOpenMS_1_1Internal_1_1ClassTest.html">   76</a></span>&#160;    <span class="keyword">namespace </span>ClassTest</div>
<div class="line"><a name="l00077"></a><span class="lineno">   77</span>&#160;    {</div>
<div class="line"><a name="l00078"></a><span class="lineno">   78</span>&#160;</div>
<div class="line"><a name="l00083"></a><span class="lineno">   83</span>&#160;      <span class="keywordtype">bool</span> OPENMS_DLLAPI</div>
<div class="line"><a name="l00084"></a><span class="lineno">   84</span>&#160;      <a class="code" href="namespaceOpenMS_1_1Internal_1_1ClassTest.html#a3c6b858e43d6f3f6dab174e1ae3a99bf">validate</a>(<span class="keyword">const</span> std::vector&lt;std::string&gt;&amp; file_names);</div>
<div class="line"><a name="l00085"></a><span class="lineno">   85</span>&#160;</div>
<div class="line"><a name="l00087"></a><span class="lineno">   87</span>&#160;      std::string OPENMS_DLLAPI</div>
<div class="line"><a name="l00088"></a><span class="lineno">   88</span>&#160;      <a class="code" href="namespaceOpenMS_1_1Internal_1_1ClassTest.html#a6382d9c08ef267adca633e975e8f8f29">tmpFileName</a>(<span class="keyword">const</span> std::string&amp; file, <span class="keywordtype">int</span> line);</div>
<div class="line"><a name="l00089"></a><span class="lineno">   89</span>&#160;</div>
<div class="line"><a name="l00091"></a><span class="lineno">   91</span>&#160;      <span class="keyword">inline</span> <span class="keywordtype">bool</span> OPENMS_DLLAPI</div>
<div class="line"><a name="l00092"></a><span class="lineno"><a class="line" href="namespaceOpenMS_1_1Internal_1_1ClassTest.html#ae140af1ddf33f9f026bff28a6f103f9e">   92</a></span>&#160;      <a class="code" href="namespaceOpenMS_1_1Internal_1_1ClassTest.html#ae140af1ddf33f9f026bff28a6f103f9e">isRealType</a>(<span class="keywordtype">float</span>)</div>
<div class="line"><a name="l00093"></a><span class="lineno">   93</span>&#160;      {</div>
<div class="line"><a name="l00094"></a><span class="lineno">   94</span>&#160;        <span class="keywordflow">return</span> <span class="keyword">true</span>;</div>
<div class="line"><a name="l00095"></a><span class="lineno">   95</span>&#160;      }</div>
<div class="line"><a name="l00096"></a><span class="lineno">   96</span>&#160;</div>
<div class="line"><a name="l00098"></a><span class="lineno">   98</span>&#160;      <span class="keyword">inline</span> <span class="keywordtype">bool</span> OPENMS_DLLAPI</div>
<div class="line"><a name="l00099"></a><span class="lineno"><a class="line" href="namespaceOpenMS_1_1Internal_1_1ClassTest.html#a18f097b9a5f89e41fd90f8c2fb3c8747">   99</a></span>&#160;      <a class="code" href="namespaceOpenMS_1_1Internal_1_1ClassTest.html#ae140af1ddf33f9f026bff28a6f103f9e">isRealType</a>(<span class="keywordtype">double</span>)</div>
<div class="line"><a name="l00100"></a><span class="lineno">  100</span>&#160;      {</div>
<div class="line"><a name="l00101"></a><span class="lineno">  101</span>&#160;        <span class="keywordflow">return</span> <span class="keyword">true</span>;</div>
<div class="line"><a name="l00102"></a><span class="lineno">  102</span>&#160;      }</div>
<div class="line"><a name="l00103"></a><span class="lineno">  103</span>&#160;</div>
<div class="line"><a name="l00105"></a><span class="lineno">  105</span>&#160;      <span class="keyword">inline</span> <span class="keywordtype">bool</span> OPENMS_DLLAPI</div>
<div class="line"><a name="l00106"></a><span class="lineno"><a class="line" href="namespaceOpenMS_1_1Internal_1_1ClassTest.html#a9da737731544da70dd708359b0608f4f">  106</a></span>&#160;      <a class="code" href="namespaceOpenMS_1_1Internal_1_1ClassTest.html#ae140af1ddf33f9f026bff28a6f103f9e">isRealType</a>(<span class="keywordtype">long</span> <span class="keywordtype">double</span>)</div>
<div class="line"><a name="l00107"></a><span class="lineno">  107</span>&#160;      {</div>
<div class="line"><a name="l00108"></a><span class="lineno">  108</span>&#160;        <span class="keywordflow">return</span> <span class="keyword">true</span>;</div>
<div class="line"><a name="l00109"></a><span class="lineno">  109</span>&#160;      }</div>
<div class="line"><a name="l00110"></a><span class="lineno">  110</span>&#160;</div>
<div class="line"><a name="l00112"></a><span class="lineno">  112</span>&#160;      <span class="keyword">inline</span> <span class="keywordtype">bool</span> OPENMS_DLLAPI</div>
<div class="line"><a name="l00113"></a><span class="lineno"><a class="line" href="namespaceOpenMS_1_1Internal_1_1ClassTest.html#a9ff15cb36550b4dc7231254315877d2b">  113</a></span>&#160;      <a class="code" href="namespaceOpenMS_1_1Internal_1_1ClassTest.html#ae140af1ddf33f9f026bff28a6f103f9e">isRealType</a>(<span class="keyword">const</span> <a class="code" href="classOpenMS_1_1DataValue.html">DataValue</a>&amp;)</div>
<div class="line"><a name="l00114"></a><span class="lineno">  114</span>&#160;      {</div>
<div class="line"><a name="l00115"></a><span class="lineno">  115</span>&#160;        <span class="keywordflow">return</span> <span class="keyword">true</span>;</div>
<div class="line"><a name="l00116"></a><span class="lineno">  116</span>&#160;      }</div>
<div class="line"><a name="l00117"></a><span class="lineno">  117</span>&#160;</div>
<div class="line"><a name="l00119"></a><span class="lineno">  119</span>&#160;      <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T&gt;</div>
<div class="line"><a name="l00120"></a><span class="lineno">  120</span>&#160;      <span class="keyword">inline</span> <span class="keywordtype">bool</span></div>
<div class="line"><a name="l00121"></a><span class="lineno"><a class="line" href="namespaceOpenMS_1_1Internal_1_1ClassTest.html#a36d462d47aac65db153373288cb6cb71">  121</a></span>&#160;      <a class="code" href="namespaceOpenMS_1_1Internal_1_1ClassTest.html#ae140af1ddf33f9f026bff28a6f103f9e">isRealType</a>(<span class="keyword">const</span> T&amp;)</div>
<div class="line"><a name="l00122"></a><span class="lineno">  122</span>&#160;      {</div>
<div class="line"><a name="l00123"></a><span class="lineno">  123</span>&#160;        <span class="keywordflow">return</span> <span class="keyword">false</span>;</div>
<div class="line"><a name="l00124"></a><span class="lineno">  124</span>&#160;      }</div>
<div class="line"><a name="l00125"></a><span class="lineno">  125</span>&#160;</div>
<div class="line"><a name="l00131"></a><span class="lineno">  131</span>&#160;      <span class="keywordtype">void</span> OPENMS_DLLAPI</div>
<div class="line"><a name="l00132"></a><span class="lineno">  132</span>&#160;      <a class="code" href="namespaceOpenMS_1_1Internal_1_1ClassTest.html#a2aee83099abc41e19604afdd27ac6746">testRealSimilar</a>(<span class="keyword">const</span> <span class="keywordtype">char</span>* file, <span class="keywordtype">int</span> line, <span class="keywordtype">long</span> <span class="keywordtype">double</span> number_1,</div>
<div class="line"><a name="l00133"></a><span class="lineno">  133</span>&#160;                      <span class="keyword">const</span> <span class="keywordtype">char</span>* number_1_stringified,</div>
<div class="line"><a name="l00134"></a><span class="lineno">  134</span>&#160;                      <span class="keywordtype">bool</span> number_1_is_realtype, <a class="code" href="group__Concept.html#ga7cc214a236ad3bb6ad435bdcf5262a3f">Int</a> number_1_written_digits,</div>
<div class="line"><a name="l00135"></a><span class="lineno">  135</span>&#160;                      <span class="keywordtype">long</span> <span class="keywordtype">double</span> number_2, <span class="keyword">const</span> <span class="keywordtype">char</span>* number_2_stringified,</div>
<div class="line"><a name="l00136"></a><span class="lineno">  136</span>&#160;                      <span class="keywordtype">bool</span> <span class="comment">/* number_2_is_realtype */</span>, <a class="code" href="group__Concept.html#ga7cc214a236ad3bb6ad435bdcf5262a3f">Int</a> number_2_written_digits);</div>
<div class="line"><a name="l00137"></a><span class="lineno">  137</span>&#160;</div>
<div class="line"><a name="l00139"></a><span class="lineno">  139</span>&#160;      <span class="keywordtype">bool</span> OPENMS_DLLAPI</div>
<div class="line"><a name="l00140"></a><span class="lineno">  140</span>&#160;      <a class="code" href="namespaceOpenMS_1_1Internal_1_1ClassTest.html#afb7414c1ab4e2e8090104f1c33c7407d">isRealSimilar</a>(<span class="keywordtype">long</span> <span class="keywordtype">double</span> number_1, <span class="keywordtype">long</span> <span class="keywordtype">double</span> number_2);</div>
<div class="line"><a name="l00141"></a><span class="lineno">  141</span>&#160;</div>
<div class="line"><a name="l00149"></a><span class="lineno">  149</span>&#160;      <span class="keywordtype">void</span> OPENMS_DLLAPI</div>
<div class="line"><a name="l00150"></a><span class="lineno">  150</span>&#160;      <a class="code" href="namespaceOpenMS_1_1Internal_1_1ClassTest.html#a18858190b9b8c0fbcb131df4707ca102">testStringSimilar</a>(<span class="keyword">const</span> <span class="keywordtype">char</span>* file, <span class="keywordtype">int</span> line,</div>
<div class="line"><a name="l00151"></a><span class="lineno">  151</span>&#160;                        <span class="keyword">const</span> std::string&amp; string_1,</div>
<div class="line"><a name="l00152"></a><span class="lineno">  152</span>&#160;                        <span class="keyword">const</span> <span class="keywordtype">char</span>* string_1_stringified,</div>
<div class="line"><a name="l00153"></a><span class="lineno">  153</span>&#160;                        <span class="keyword">const</span> std::string&amp; string_2,</div>
<div class="line"><a name="l00154"></a><span class="lineno">  154</span>&#160;                        <span class="keyword">const</span> <span class="keywordtype">char</span>* string_2_stringified);</div>
<div class="line"><a name="l00155"></a><span class="lineno">  155</span>&#160;</div>
<div class="line"><a name="l00157"></a><span class="lineno">  157</span>&#160;      <span class="keywordtype">void</span> OPENMS_DLLAPI</div>
<div class="line"><a name="l00158"></a><span class="lineno">  158</span>&#160;      <a class="code" href="namespaceOpenMS_1_1Internal_1_1ClassTest.html#a5b02f3b108a4779f7ecc2c7ec0c6d276">testStringEqual</a>(<span class="keyword">const</span> <span class="keywordtype">char</span>* file, <span class="keywordtype">int</span> line,</div>
<div class="line"><a name="l00159"></a><span class="lineno">  159</span>&#160;                      <span class="keyword">const</span> std::string&amp; string_1,</div>
<div class="line"><a name="l00160"></a><span class="lineno">  160</span>&#160;                      <span class="keyword">const</span> <span class="keywordtype">char</span>* string_1_stringified,</div>
<div class="line"><a name="l00161"></a><span class="lineno">  161</span>&#160;                      <span class="keyword">const</span> std::string&amp; string_2,</div>
<div class="line"><a name="l00162"></a><span class="lineno">  162</span>&#160;                      <span class="keyword">const</span> <span class="keywordtype">char</span>* string_2_stringified);</div>
<div class="line"><a name="l00163"></a><span class="lineno">  163</span>&#160;</div>
<div class="line"><a name="l00169"></a><span class="lineno">  169</span>&#160;      <span class="keywordtype">bool</span> OPENMS_DLLAPI</div>
<div class="line"><a name="l00170"></a><span class="lineno">  170</span>&#160;      <a class="code" href="namespaceOpenMS_1_1Internal_1_1ClassTest.html#abfb75eae735c15f17a95c69b9587bd98">isFileSimilar</a>(<span class="keyword">const</span> std::string&amp; filename_1,</div>
<div class="line"><a name="l00171"></a><span class="lineno">  171</span>&#160;                    <span class="keyword">const</span> std::string&amp; filename_2);</div>
<div class="line"><a name="l00172"></a><span class="lineno">  172</span>&#160;</div>
<div class="line"><a name="l00174"></a><span class="lineno">  174</span>&#160;      <span class="keywordtype">void</span> OPENMS_DLLAPI</div>
<div class="line"><a name="l00175"></a><span class="lineno">  175</span>&#160;      <a class="code" href="namespaceOpenMS_1_1Internal_1_1ClassTest.html#a187feb90d7677a3f0a136c45ee388286">initialNewline</a>();</div>
<div class="line"><a name="l00176"></a><span class="lineno">  176</span>&#160;</div>
<div class="line"><a name="l00178"></a><span class="lineno">  178</span>&#160;      <span class="keywordtype">void</span> OPENMS_DLLAPI</div>
<div class="line"><a name="l00179"></a><span class="lineno">  179</span>&#160;      <a class="code" href="namespaceOpenMS_1_1Internal_1_1ClassTest.html#a5d4fbb2536e6ed42168d1e592ce5ffdf">printWithPrefix</a>(<span class="keyword">const</span> std::string&amp; text, <span class="keyword">const</span> <span class="keywordtype">int</span> marked = -1);</div>
<div class="line"><a name="l00180"></a><span class="lineno">  180</span>&#160;</div>
<div class="line"><a name="l00182"></a><span class="lineno">  182</span>&#160;      <span class="keywordtype">void</span> OPENMS_DLLAPI</div>
<div class="line"><a name="l00183"></a><span class="lineno">  183</span>&#160;      <a class="code" href="namespaceOpenMS_1_1Internal_1_1ClassTest.html#a47f6607b5e2d043380438fe493ccc50f">setWhitelist</a>(<span class="keyword">const</span> <span class="keywordtype">char</span>* <span class="keyword">const</span> <span class="comment">/* file */</span>, <span class="keyword">const</span> <span class="keywordtype">int</span> line,</div>
<div class="line"><a name="l00184"></a><span class="lineno">  184</span>&#160;                   <span class="keyword">const</span> std::string&amp; whitelist);</div>
<div class="line"><a name="l00185"></a><span class="lineno">  185</span>&#160;</div>
<div class="line"><a name="l00187"></a><span class="lineno">  187</span>&#160;      <span class="keyword">extern</span> OPENMS_DLLAPI <span class="keywordtype">double</span> <a class="code" href="namespaceOpenMS_1_1Internal_1_1ClassTest.html#ad9d4447147c780d6f32cb565c2099964">ratio_max_allowed</a>;</div>
<div class="line"><a name="l00188"></a><span class="lineno">  188</span>&#160;</div>
<div class="line"><a name="l00190"></a><span class="lineno">  190</span>&#160;      <span class="keyword">extern</span> OPENMS_DLLAPI <span class="keywordtype">double</span> <a class="code" href="namespaceOpenMS_1_1Internal_1_1ClassTest.html#a0467ed32dcd4ad305526c4e151cd1e96">ratio_max</a>;</div>
<div class="line"><a name="l00191"></a><span class="lineno">  191</span>&#160;</div>
<div class="line"><a name="l00193"></a><span class="lineno">  193</span>&#160;      <span class="keyword">extern</span> OPENMS_DLLAPI <span class="keywordtype">double</span> <a class="code" href="namespaceOpenMS_1_1Internal_1_1ClassTest.html#aa422b0077d0c570937a73aa5b8eb4440">ratio</a>;</div>
<div class="line"><a name="l00194"></a><span class="lineno">  194</span>&#160;</div>
<div class="line"><a name="l00196"></a><span class="lineno">  196</span>&#160;      <span class="keyword">extern</span> OPENMS_DLLAPI <span class="keywordtype">double</span> <a class="code" href="namespaceOpenMS_1_1Internal_1_1ClassTest.html#a6b1c17a3f2b7a2268705f279e77b5081">absdiff_max_allowed</a>;</div>
<div class="line"><a name="l00197"></a><span class="lineno">  197</span>&#160;</div>
<div class="line"><a name="l00199"></a><span class="lineno">  199</span>&#160;      <span class="keyword">extern</span> OPENMS_DLLAPI <span class="keywordtype">double</span> <a class="code" href="namespaceOpenMS_1_1Internal_1_1ClassTest.html#a5b5f16011dd349eaf0bfbd5f005ec3fe">absdiff_max</a>;</div>
<div class="line"><a name="l00200"></a><span class="lineno">  200</span>&#160;</div>
<div class="line"><a name="l00202"></a><span class="lineno">  202</span>&#160;      <span class="keyword">extern</span> OPENMS_DLLAPI <span class="keywordtype">double</span> <a class="code" href="namespaceOpenMS_1_1Internal_1_1ClassTest.html#a2e69b82afc0e5949f75a5b139a5f26d6">absdiff</a>;</div>
<div class="line"><a name="l00203"></a><span class="lineno">  203</span>&#160;</div>
<div class="line"><a name="l00204"></a><span class="lineno">  204</span>&#160;      <span class="keyword">extern</span> OPENMS_DLLAPI <span class="keywordtype">int</span> <a class="code" href="namespaceOpenMS_1_1Internal_1_1ClassTest.html#a8095107180b88bd5e4c1e79b28d51ef5">line_num_1_max</a>;</div>
<div class="line"><a name="l00205"></a><span class="lineno">  205</span>&#160;      <span class="keyword">extern</span> OPENMS_DLLAPI <span class="keywordtype">int</span> <a class="code" href="namespaceOpenMS_1_1Internal_1_1ClassTest.html#a735c3bbfac47c013c1fa97d3756e5f6e">line_num_2_max</a>;</div>
<div class="line"><a name="l00206"></a><span class="lineno">  206</span>&#160;</div>
<div class="line"><a name="l00208"></a><span class="lineno">  208</span>&#160;      <span class="keyword">extern</span> OPENMS_DLLAPI <span class="keywordtype">int</span> <a class="code" href="namespaceOpenMS_1_1Internal_1_1ClassTest.html#a0b2caeb4b6f130be43e5a2f0267dd453">verbose</a>;</div>
<div class="line"><a name="l00209"></a><span class="lineno">  209</span>&#160;</div>
<div class="line"><a name="l00211"></a><span class="lineno">  211</span>&#160;      <span class="keyword">extern</span> OPENMS_DLLAPI <span class="keywordtype">bool</span> <a class="code" href="namespaceOpenMS_1_1Internal_1_1ClassTest.html#a4cce03fe4969f500a5467bf85717583b">all_tests</a>;</div>
<div class="line"><a name="l00212"></a><span class="lineno">  212</span>&#160;</div>
<div class="line"><a name="l00214"></a><span class="lineno">  214</span>&#160;      <span class="keyword">extern</span> OPENMS_DLLAPI <span class="keywordtype">bool</span> <a class="code" href="namespaceOpenMS_1_1Internal_1_1ClassTest.html#a69f942d7289d5ed2ffe3a00b12235d04">test</a>;</div>
<div class="line"><a name="l00215"></a><span class="lineno">  215</span>&#160;</div>
<div class="line"><a name="l00217"></a><span class="lineno">  217</span>&#160;      <span class="keyword">extern</span> OPENMS_DLLAPI <span class="keywordtype">bool</span> <a class="code" href="namespaceOpenMS_1_1Internal_1_1ClassTest.html#ac985e90f80475d2bd3294554e1a362ed">this_test</a>;</div>
<div class="line"><a name="l00218"></a><span class="lineno">  218</span>&#160;</div>
<div class="line"><a name="l00220"></a><span class="lineno">  220</span>&#160;      <span class="keyword">extern</span> OPENMS_DLLAPI <span class="keywordtype">int</span> <a class="code" href="namespaceOpenMS_1_1Internal_1_1ClassTest.html#af2c3955d4b9891e3b6cf657a5d97e8bf">exception</a>;</div>
<div class="line"><a name="l00221"></a><span class="lineno">  221</span>&#160;</div>
<div class="line"><a name="l00223"></a><span class="lineno">  223</span>&#160;      <span class="keyword">extern</span> OPENMS_DLLAPI std::string <a class="code" href="namespaceOpenMS_1_1Internal_1_1ClassTest.html#a902ba0039b2a2f1098dd6b18240dbdaa">exception_name</a>;</div>
<div class="line"><a name="l00224"></a><span class="lineno">  224</span>&#160;</div>
<div class="line"><a name="l00226"></a><span class="lineno">  226</span>&#160;      <span class="keyword">extern</span> OPENMS_DLLAPI std::string <a class="code" href="namespaceOpenMS_1_1Internal_1_1ClassTest.html#a4d4d155352109ac4332f7b6824ef06b3">exception_message</a>;</div>
<div class="line"><a name="l00227"></a><span class="lineno">  227</span>&#160;</div>
<div class="line"><a name="l00229"></a><span class="lineno">  229</span>&#160;      <span class="keyword">extern</span> OPENMS_DLLAPI std::string <a class="code" href="namespaceOpenMS_1_1Internal_1_1ClassTest.html#a4d9f5825bc03011a856a1aa3470ea6f4">test_name</a>;</div>
<div class="line"><a name="l00230"></a><span class="lineno">  230</span>&#160;</div>
<div class="line"><a name="l00232"></a><span class="lineno">  232</span>&#160;      <span class="keyword">extern</span> OPENMS_DLLAPI <span class="keywordtype">int</span> <a class="code" href="namespaceOpenMS_1_1Internal_1_1ClassTest.html#ae8b75d3c879acb2095c4e048b7a3d99a">start_section_line</a>;</div>
<div class="line"><a name="l00233"></a><span class="lineno">  233</span>&#160;</div>
<div class="line"><a name="l00235"></a><span class="lineno">  235</span>&#160;      <span class="keyword">extern</span> OPENMS_DLLAPI <span class="keywordtype">int</span> <a class="code" href="namespaceOpenMS_1_1Internal_1_1ClassTest.html#a2a8e1139cc64e0f562d63b290c9091fc">test_line</a>;</div>
<div class="line"><a name="l00236"></a><span class="lineno">  236</span>&#160;</div>
<div class="line"><a name="l00238"></a><span class="lineno">  238</span>&#160;      <span class="keyword">extern</span> OPENMS_DLLAPI <span class="keyword">const</span> <span class="keywordtype">char</span>* <a class="code" href="namespaceOpenMS_1_1Internal_1_1ClassTest.html#a8042d0ef3deb220500d4c3a0c1382f07">version_string</a>;</div>
<div class="line"><a name="l00239"></a><span class="lineno">  239</span>&#160;</div>
<div class="line"><a name="l00241"></a><span class="lineno">  241</span>&#160;      <span class="keyword">extern</span> OPENMS_DLLAPI std::vector&lt;std::string&gt; <a class="code" href="namespaceOpenMS_1_1Internal_1_1ClassTest.html#ab4418188d517aeb11f2e694243dc883f">tmp_file_list</a>;</div>
<div class="line"><a name="l00242"></a><span class="lineno">  242</span>&#160;</div>
<div class="line"><a name="l00244"></a><span class="lineno">  244</span>&#160;      <span class="keyword">extern</span> OPENMS_DLLAPI std::vector&lt;UInt&gt; <a class="code" href="namespaceOpenMS_1_1Internal_1_1ClassTest.html#a902f36771acecbac5082e981bf8510a7">failed_lines_list</a>;</div>
<div class="line"><a name="l00245"></a><span class="lineno">  245</span>&#160;</div>
<div class="line"><a name="l00247"></a><span class="lineno">  247</span>&#160;      <span class="keyword">extern</span> OPENMS_DLLAPI std::ifstream <a class="code" href="namespaceOpenMS_1_1Internal_1_1ClassTest.html#a835c194d7465ac0e608fc154c9e9ef80">infile</a>;</div>
<div class="line"><a name="l00248"></a><span class="lineno">  248</span>&#160;</div>
<div class="line"><a name="l00250"></a><span class="lineno">  250</span>&#160;      <span class="keyword">extern</span> OPENMS_DLLAPI std::ifstream <a class="code" href="namespaceOpenMS_1_1Internal_1_1ClassTest.html#ad000cdea2f3551e3e9239678d12222b6">templatefile</a>;</div>
<div class="line"><a name="l00251"></a><span class="lineno">  251</span>&#160;</div>
<div class="line"><a name="l00253"></a><span class="lineno">  253</span>&#160;      <span class="keyword">extern</span> OPENMS_DLLAPI <span class="keywordtype">bool</span> <a class="code" href="namespaceOpenMS_1_1Internal_1_1ClassTest.html#ae345dc3f63fb3f587846e6ec3f0ae361">equal_files</a>;</div>
<div class="line"><a name="l00254"></a><span class="lineno">  254</span>&#160;</div>
<div class="line"><a name="l00256"></a><span class="lineno">  256</span>&#160;      <span class="keyword">extern</span> OPENMS_DLLAPI <span class="keywordtype">char</span> <a class="code" href="namespaceOpenMS_1_1Internal_1_1ClassTest.html#a325a605b3ed0efb2c88eca4d1bdcf8e1">line_buffer</a>[65536];</div>
<div class="line"><a name="l00257"></a><span class="lineno">  257</span>&#160;</div>
<div class="line"><a name="l00259"></a><span class="lineno">  259</span>&#160;      <span class="keyword">extern</span> OPENMS_DLLAPI <span class="keywordtype">int</span> <a class="code" href="namespaceOpenMS_1_1Internal_1_1ClassTest.html#a125a07facfdab18ee2d8495d4f8c9d5b">test_count</a>;</div>
<div class="line"><a name="l00260"></a><span class="lineno">  260</span>&#160;</div>
<div class="line"><a name="l00262"></a><span class="lineno">  262</span>&#160;      <span class="keyword">extern</span> OPENMS_DLLAPI std::string <a class="code" href="namespaceOpenMS_1_1Internal_1_1ClassTest.html#a338ace7511e4edfb48f2752b97f9d0d1">add_message</a>;</div>
<div class="line"><a name="l00263"></a><span class="lineno">  263</span>&#160;</div>
<div class="line"><a name="l00268"></a><span class="lineno">  268</span>&#160;      <span class="keyword">extern</span> OPENMS_DLLAPI std::string <a class="code" href="namespaceOpenMS_1_1Internal_1_1ClassTest.html#a47541e8f1bf1e7ac302e65242e0b0ae8">fuzzy_message</a>;</div>
<div class="line"><a name="l00269"></a><span class="lineno">  269</span>&#160;</div>
<div class="line"><a name="l00271"></a><span class="lineno">  271</span>&#160;      <span class="keyword">extern</span> OPENMS_DLLAPI <span class="keywordtype">bool</span> <a class="code" href="namespaceOpenMS_1_1Internal_1_1ClassTest.html#a5e1a07804adbb8144b32aa8415d229a5">newline</a>;</div>
<div class="line"><a name="l00272"></a><span class="lineno">  272</span>&#160;</div>
<div class="line"><a name="l00273"></a><span class="lineno">  273</span>&#160;      <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T1, <span class="keyword">typename</span> T2&gt;</div>
<div class="line"><a name="l00274"></a><span class="lineno">  274</span>&#160;      <span class="keywordtype">void</span></div>
<div class="line"><a name="l00275"></a><span class="lineno"><a class="line" href="namespaceOpenMS_1_1Internal_1_1ClassTest.html#a220f69713100269c0e59d1f1fbb3dba5">  275</a></span>&#160;      <a class="code" href="namespaceOpenMS_1_1Internal_1_1ClassTest.html#a220f69713100269c0e59d1f1fbb3dba5">testEqual</a>(<span class="keyword">const</span> <span class="keywordtype">char</span>* <span class="comment">/*file*/</span>, <span class="keywordtype">int</span> line, <span class="keyword">const</span> T1&amp; expression_1,</div>
<div class="line"><a name="l00276"></a><span class="lineno">  276</span>&#160;                <span class="keyword">const</span> <span class="keywordtype">char</span>* expression_1_stringified,</div>
<div class="line"><a name="l00277"></a><span class="lineno">  277</span>&#160;                <span class="keyword">const</span> T2&amp; expression_2,</div>
<div class="line"><a name="l00278"></a><span class="lineno">  278</span>&#160;                <span class="keyword">const</span> <span class="keywordtype">char</span>* expression_2_stringified)</div>
<div class="line"><a name="l00279"></a><span class="lineno">  279</span>&#160;      {</div>
<div class="line"><a name="l00280"></a><span class="lineno">  280</span>&#160;        ++<a class="code" href="namespaceOpenMS_1_1Internal_1_1ClassTest.html#a125a07facfdab18ee2d8495d4f8c9d5b">test_count</a>;</div>
<div class="line"><a name="l00281"></a><span class="lineno">  281</span>&#160;        <a class="code" href="namespaceOpenMS_1_1Internal_1_1ClassTest.html#a2a8e1139cc64e0f562d63b290c9091fc">test_line</a> = line;</div>
<div class="line"><a name="l00282"></a><span class="lineno">  282</span>&#160;        <a class="code" href="namespaceOpenMS_1_1Internal_1_1ClassTest.html#ac985e90f80475d2bd3294554e1a362ed">this_test</a> = bool(expression_1 == T1(expression_2));</div>
<div class="line"><a name="l00283"></a><span class="lineno">  283</span>&#160;        <a class="code" href="namespaceOpenMS_1_1Internal_1_1ClassTest.html#a69f942d7289d5ed2ffe3a00b12235d04">test</a> = <a class="code" href="namespaceOpenMS_1_1Internal_1_1ClassTest.html#a69f942d7289d5ed2ffe3a00b12235d04">test</a> &amp;&amp; <a class="code" href="namespaceOpenMS_1_1Internal_1_1ClassTest.html#ac985e90f80475d2bd3294554e1a362ed">this_test</a>;</div>
<div class="line"><a name="l00284"></a><span class="lineno">  284</span>&#160;        {</div>
<div class="line"><a name="l00285"></a><span class="lineno">  285</span>&#160;          <a class="code" href="namespaceOpenMS_1_1Internal_1_1ClassTest.html#a187feb90d7677a3f0a136c45ee388286">initialNewline</a>();</div>
<div class="line"><a name="l00286"></a><span class="lineno">  286</span>&#160;          <span class="keywordflow">if</span> (this_test)</div>
<div class="line"><a name="l00287"></a><span class="lineno">  287</span>&#160;          {</div>
<div class="line"><a name="l00288"></a><span class="lineno">  288</span>&#160;            <a class="code" href="ClassTest_8h.html#aa2a98d9e6fcf172ec0e1572f5fdff3f1">std__cout</a> &lt;&lt; <span class="stringliteral">&quot; +  line &quot;</span> &lt;&lt; line &lt;&lt; <span class="stringliteral">&quot;:  TEST_EQUAL(&quot;</span></div>
<div class="line"><a name="l00289"></a><span class="lineno">  289</span>&#160;                      &lt;&lt; expression_1_stringified &lt;&lt; <span class="charliteral">&#39;,&#39;</span></div>
<div class="line"><a name="l00290"></a><span class="lineno">  290</span>&#160;                      &lt;&lt; expression_2_stringified &lt;&lt; <span class="stringliteral">&quot;): got &quot;</span> &lt;&lt; expression_1</div>
<div class="line"><a name="l00291"></a><span class="lineno">  291</span>&#160;                      &lt;&lt; <span class="stringliteral">&quot;, expected &quot;</span> &lt;&lt; expression_2 &lt;&lt; std::endl;</div>
<div class="line"><a name="l00292"></a><span class="lineno">  292</span>&#160;          }</div>
<div class="line"><a name="l00293"></a><span class="lineno">  293</span>&#160;          <span class="keywordflow">else</span></div>
<div class="line"><a name="l00294"></a><span class="lineno">  294</span>&#160;          {</div>
<div class="line"><a name="l00295"></a><span class="lineno">  295</span>&#160;            <a class="code" href="ClassTest_8h.html#aa2a98d9e6fcf172ec0e1572f5fdff3f1">std__cout</a> &lt;&lt; <span class="stringliteral">&quot; -  line &quot;</span> &lt;&lt; line &lt;&lt; <span class="stringliteral">&quot;:  TEST_EQUAL(&quot;</span></div>
<div class="line"><a name="l00296"></a><span class="lineno">  296</span>&#160;                      &lt;&lt; expression_1_stringified &lt;&lt; <span class="charliteral">&#39;,&#39;</span></div>
<div class="line"><a name="l00297"></a><span class="lineno">  297</span>&#160;                      &lt;&lt; expression_2_stringified &lt;&lt; <span class="stringliteral">&quot;): got &quot;</span> &lt;&lt; expression_1</div>
<div class="line"><a name="l00298"></a><span class="lineno">  298</span>&#160;                      &lt;&lt; <span class="stringliteral">&quot;, expected &quot;</span> &lt;&lt; expression_2 &lt;&lt; std::endl;</div>
<div class="line"><a name="l00299"></a><span class="lineno">  299</span>&#160;            <a class="code" href="namespaceOpenMS_1_1Internal_1_1ClassTest.html#a902f36771acecbac5082e981bf8510a7">failed_lines_list</a>.push_back(line);</div>
<div class="line"><a name="l00300"></a><span class="lineno">  300</span>&#160;          }</div>
<div class="line"><a name="l00301"></a><span class="lineno">  301</span>&#160;        }</div>
<div class="line"><a name="l00302"></a><span class="lineno">  302</span>&#160;      }</div>
<div class="line"><a name="l00303"></a><span class="lineno">  303</span>&#160;</div>
<div class="line"><a name="l00304"></a><span class="lineno">  304</span>&#160;      <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T1, <span class="keyword">typename</span> T2&gt;</div>
<div class="line"><a name="l00305"></a><span class="lineno">  305</span>&#160;      <span class="keywordtype">void</span></div>
<div class="line"><a name="l00306"></a><span class="lineno"><a class="line" href="namespaceOpenMS_1_1Internal_1_1ClassTest.html#ac1391c547aa7b57c3999b085091ea643">  306</a></span>&#160;      <a class="code" href="namespaceOpenMS_1_1Internal_1_1ClassTest.html#ac1391c547aa7b57c3999b085091ea643">testNotEqual</a>(<span class="keyword">const</span> <span class="keywordtype">char</span>* <span class="comment">/*file*/</span>, <span class="keywordtype">int</span> line, <span class="keyword">const</span> T1&amp; expression_1,</div>
<div class="line"><a name="l00307"></a><span class="lineno">  307</span>&#160;                   <span class="keyword">const</span> <span class="keywordtype">char</span>* expression_1_stringified,</div>
<div class="line"><a name="l00308"></a><span class="lineno">  308</span>&#160;                   <span class="keyword">const</span> T2&amp; expression_2,</div>
<div class="line"><a name="l00309"></a><span class="lineno">  309</span>&#160;                   <span class="keyword">const</span> <span class="keywordtype">char</span>* expression_2_stringified)</div>
<div class="line"><a name="l00310"></a><span class="lineno">  310</span>&#160;      {</div>
<div class="line"><a name="l00311"></a><span class="lineno">  311</span>&#160;        ++<a class="code" href="namespaceOpenMS_1_1Internal_1_1ClassTest.html#a125a07facfdab18ee2d8495d4f8c9d5b">test_count</a>;</div>
<div class="line"><a name="l00312"></a><span class="lineno">  312</span>&#160;        <a class="code" href="namespaceOpenMS_1_1Internal_1_1ClassTest.html#a2a8e1139cc64e0f562d63b290c9091fc">test_line</a> = line;</div>
<div class="line"><a name="l00313"></a><span class="lineno">  313</span>&#160;        <a class="code" href="namespaceOpenMS_1_1Internal_1_1ClassTest.html#ac985e90f80475d2bd3294554e1a362ed">this_test</a> = !(expression_1 == T1(expression_2));</div>
<div class="line"><a name="l00314"></a><span class="lineno">  314</span>&#160;        <a class="code" href="namespaceOpenMS_1_1Internal_1_1ClassTest.html#a69f942d7289d5ed2ffe3a00b12235d04">test</a> = <a class="code" href="namespaceOpenMS_1_1Internal_1_1ClassTest.html#a69f942d7289d5ed2ffe3a00b12235d04">test</a> &amp;&amp; <a class="code" href="namespaceOpenMS_1_1Internal_1_1ClassTest.html#ac985e90f80475d2bd3294554e1a362ed">this_test</a>;</div>
<div class="line"><a name="l00315"></a><span class="lineno">  315</span>&#160;        {</div>
<div class="line"><a name="l00316"></a><span class="lineno">  316</span>&#160;          <a class="code" href="namespaceOpenMS_1_1Internal_1_1ClassTest.html#a187feb90d7677a3f0a136c45ee388286">initialNewline</a>();</div>
<div class="line"><a name="l00317"></a><span class="lineno">  317</span>&#160;          <span class="keywordflow">if</span> (this_test)</div>
<div class="line"><a name="l00318"></a><span class="lineno">  318</span>&#160;          {</div>
<div class="line"><a name="l00319"></a><span class="lineno">  319</span>&#160;            <a class="code" href="ClassTest_8h.html#aa2a98d9e6fcf172ec0e1572f5fdff3f1">std__cout</a> &lt;&lt; <span class="stringliteral">&quot; +  line &quot;</span> &lt;&lt; line &lt;&lt; <span class="stringliteral">&quot;:  TEST_NOT_EQUAL(&quot;</span></div>
<div class="line"><a name="l00320"></a><span class="lineno">  320</span>&#160;                      &lt;&lt; expression_1_stringified &lt;&lt; <span class="charliteral">&#39;,&#39;</span></div>
<div class="line"><a name="l00321"></a><span class="lineno">  321</span>&#160;                      &lt;&lt; expression_2_stringified &lt;&lt; <span class="stringliteral">&quot;): got &quot;</span> &lt;&lt; expression_1</div>
<div class="line"><a name="l00322"></a><span class="lineno">  322</span>&#160;                      &lt;&lt; <span class="stringliteral">&quot;, forbidden is &quot;</span> &lt;&lt; expression_2 &lt;&lt; std::endl;</div>
<div class="line"><a name="l00323"></a><span class="lineno">  323</span>&#160;          }</div>
<div class="line"><a name="l00324"></a><span class="lineno">  324</span>&#160;          <span class="keywordflow">else</span></div>
<div class="line"><a name="l00325"></a><span class="lineno">  325</span>&#160;          {</div>
<div class="line"><a name="l00326"></a><span class="lineno">  326</span>&#160;            <a class="code" href="ClassTest_8h.html#aa2a98d9e6fcf172ec0e1572f5fdff3f1">std__cout</a> &lt;&lt; <span class="stringliteral">&quot; -  line &quot;</span> &lt;&lt; line &lt;&lt; <span class="stringliteral">&quot;:  TEST_NOT_EQUAL(&quot;</span></div>
<div class="line"><a name="l00327"></a><span class="lineno">  327</span>&#160;                      &lt;&lt; expression_1_stringified &lt;&lt; <span class="charliteral">&#39;,&#39;</span></div>
<div class="line"><a name="l00328"></a><span class="lineno">  328</span>&#160;                      &lt;&lt; expression_2_stringified &lt;&lt; <span class="stringliteral">&quot;): got &quot;</span> &lt;&lt; expression_1</div>
<div class="line"><a name="l00329"></a><span class="lineno">  329</span>&#160;                      &lt;&lt; <span class="stringliteral">&quot;, forbidden is &quot;</span> &lt;&lt; expression_2 &lt;&lt; std::endl;</div>
<div class="line"><a name="l00330"></a><span class="lineno">  330</span>&#160;            <a class="code" href="namespaceOpenMS_1_1Internal_1_1ClassTest.html#a902f36771acecbac5082e981bf8510a7">failed_lines_list</a>.push_back(line);</div>
<div class="line"><a name="l00331"></a><span class="lineno">  331</span>&#160;          }</div>
<div class="line"><a name="l00332"></a><span class="lineno">  332</span>&#160;        }</div>
<div class="line"><a name="l00333"></a><span class="lineno">  333</span>&#160;      }</div>
<div class="line"><a name="l00334"></a><span class="lineno">  334</span>&#160;</div>
<div class="line"><a name="l00335"></a><span class="lineno">  335</span>&#160;    }</div>
<div class="line"><a name="l00336"></a><span class="lineno">  336</span>&#160;  }</div>
<div class="line"><a name="l00337"></a><span class="lineno">  337</span>&#160;}</div>
<div class="line"><a name="l00338"></a><span class="lineno">  338</span>&#160;</div>
<div class="line"><a name="l00339"></a><span class="lineno">  339</span>&#160;<span class="comment">// A namespace alias - apparently these cannot be documented using doxygen (?)</span></div>
<div class="line"><a name="l00340"></a><span class="lineno">  340</span>&#160;<span class="keyword">namespace </span>TEST = OpenMS::Internal::ClassTest;</div>
<div class="line"><a name="l00341"></a><span class="lineno">  341</span>&#160;</div>
<div class="line"><a name="l00366"></a><span class="lineno">  366</span>&#160;</div>
<div class="line"><a name="l00367"></a><span class="lineno">  367</span>&#160;<span class="comment">//@name test and subtest</span></div>
<div class="line"><a name="l00369"></a><span class="lineno">  369</span>&#160;<span class="comment"></span></div>
<div class="line"><a name="l00395"></a><span class="lineno"><a class="line" href="group__ClassTest.html#ga7a40a89e644997d4c2ff42b1068658e2">  395</a></span>&#160;<span class="preprocessor">#define START_TEST(class_name, version)                                                   \</span></div>
<div class="line"><a name="l00396"></a><span class="lineno">  396</span>&#160;<span class="preprocessor">  int main(int argc, char** argv)                                                         \</span></div>
<div class="line"><a name="l00397"></a><span class="lineno">  397</span>&#160;<span class="preprocessor">  {                                                                                       \</span></div>
<div class="line"><a name="l00398"></a><span class="lineno">  398</span>&#160;<span class="preprocessor">                                                                                          \</span></div>
<div class="line"><a name="l00399"></a><span class="lineno">  399</span>&#160;<span class="preprocessor">    {                                                                                     \</span></div>
<div class="line"><a name="l00400"></a><span class="lineno">  400</span>&#160;<span class="preprocessor">      </span><span class="comment">/* initialize the random generator as early as possible! */</span><span class="preprocessor">                         \</span></div>
<div class="line"><a name="l00401"></a><span class="lineno">  401</span>&#160;<span class="preprocessor">      OpenMS::DateTime date_time;                                                         \</span></div>
<div class="line"><a name="l00402"></a><span class="lineno">  402</span>&#160;<span class="preprocessor">      date_time.set(&quot;1999-12-31 23:59:59&quot;);                                               \</span></div>
<div class="line"><a name="l00403"></a><span class="lineno">  403</span>&#160;<span class="preprocessor">      OpenMS::UniqueIdGenerator::setSeed(date_time);                                      \</span></div>
<div class="line"><a name="l00404"></a><span class="lineno">  404</span>&#160;<span class="preprocessor">    }                                                                                     \</span></div>
<div class="line"><a name="l00405"></a><span class="lineno">  405</span>&#160;<span class="preprocessor">                                                                                          \</span></div>
<div class="line"><a name="l00406"></a><span class="lineno">  406</span>&#160;<span class="preprocessor">    TEST::version_string = version;                                                       \</span></div>
<div class="line"><a name="l00407"></a><span class="lineno">  407</span>&#160;<span class="preprocessor">                                                                                          \</span></div>
<div class="line"><a name="l00408"></a><span class="lineno">  408</span>&#160;<span class="preprocessor">    if (argc &gt; 1)                                                                         \</span></div>
<div class="line"><a name="l00409"></a><span class="lineno">  409</span>&#160;<span class="preprocessor">    {                                                                                     \</span></div>
<div class="line"><a name="l00410"></a><span class="lineno">  410</span>&#160;<span class="preprocessor">      std::cerr                                                                           \</span></div>
<div class="line"><a name="l00411"></a><span class="lineno">  411</span>&#160;<span class="preprocessor">      &lt;&lt; &quot;This is &quot; &lt;&lt; argv[0] &lt;&lt; &quot;, the test program for the\n&quot;                          \</span></div>
<div class="line"><a name="l00412"></a><span class="lineno">  412</span>&#160;<span class="preprocessor">      &lt;&lt; # class_name &quot; class.\n&quot;                                                         \</span></div>
<div class="line"><a name="l00413"></a><span class="lineno">  413</span>&#160;<span class="preprocessor">                      &quot;\n&quot;                                                                \</span></div>
<div class="line"><a name="l00414"></a><span class="lineno">  414</span>&#160;<span class="preprocessor">                      &quot;On successful operation it returns PASSED,\n&quot;                      \</span></div>
<div class="line"><a name="l00415"></a><span class="lineno">  415</span>&#160;<span class="preprocessor">                      &quot;otherwise FAILED is printed.\n&quot;;                                   \</span></div>
<div class="line"><a name="l00416"></a><span class="lineno">  416</span>&#160;<span class="preprocessor">      return 1;                                                                           \</span></div>
<div class="line"><a name="l00417"></a><span class="lineno">  417</span>&#160;<span class="preprocessor">    }                                                                                     \</span></div>
<div class="line"><a name="l00418"></a><span class="lineno">  418</span>&#160;<span class="preprocessor">                                                                                          \</span></div>
<div class="line"><a name="l00419"></a><span class="lineno">  419</span>&#160;<span class="preprocessor">    try {</span></div>
<div class="line"><a name="l00420"></a><span class="lineno">  420</span>&#160;<span class="preprocessor"></span></div>
<div class="line"><a name="l00432"></a><span class="lineno"><a class="line" href="group__ClassTest.html#gaefcd1ca1799d2395f7bbe3c50bcc8ff8">  432</a></span>&#160;<span class="preprocessor">#define END_TEST                                                                          \</span></div>
<div class="line"><a name="l00433"></a><span class="lineno">  433</span>&#160;<span class="preprocessor">  </span><span class="comment">/* global try block */</span><span class="preprocessor">                                                                  \</span></div>
<div class="line"><a name="l00434"></a><span class="lineno">  434</span>&#160;<span class="preprocessor">  }                                                                                       \</span></div>
<div class="line"><a name="l00435"></a><span class="lineno">  435</span>&#160;<span class="preprocessor">  catch (::OpenMS::Exception::BaseException&amp; e)                                           \</span></div>
<div class="line"><a name="l00436"></a><span class="lineno">  436</span>&#160;<span class="preprocessor">  {                                                                                       \</span></div>
<div class="line"><a name="l00437"></a><span class="lineno">  437</span>&#160;<span class="preprocessor">    TEST::this_test = false;                                                              \</span></div>
<div class="line"><a name="l00438"></a><span class="lineno">  438</span>&#160;<span class="preprocessor">    TEST::test = false;                                                                   \</span></div>
<div class="line"><a name="l00439"></a><span class="lineno">  439</span>&#160;<span class="preprocessor">    TEST::all_tests = false;                                                              \</span></div>
<div class="line"><a name="l00440"></a><span class="lineno">  440</span>&#160;<span class="preprocessor">    {                                                                                     \</span></div>
<div class="line"><a name="l00441"></a><span class="lineno">  441</span>&#160;<span class="preprocessor">      TEST::initialNewline();                                                             \</span></div>
<div class="line"><a name="l00442"></a><span class="lineno">  442</span>&#160;<span class="preprocessor">      std__cout &lt;&lt; &quot;Error: Caught unexpected OpenMS exception of type &#39;&quot;                  \</span></div>
<div class="line"><a name="l00443"></a><span class="lineno">  443</span>&#160;<span class="preprocessor">                &lt;&lt; e.getName()                                                            \</span></div>
<div class="line"><a name="l00444"></a><span class="lineno">  444</span>&#160;<span class="preprocessor">                &lt;&lt; &quot;&#39;&quot;;                                                                   \</span></div>
<div class="line"><a name="l00445"></a><span class="lineno">  445</span>&#160;<span class="preprocessor">      if ((e.getLine() &gt; 0) &amp;&amp; (std::strcmp(e.getFile(), &quot;&quot;) != 0))                       \</span></div>
<div class="line"><a name="l00446"></a><span class="lineno">  446</span>&#160;<span class="preprocessor">      {                                                                                   \</span></div>
<div class="line"><a name="l00447"></a><span class="lineno">  447</span>&#160;<span class="preprocessor">        std__cout &lt;&lt; &quot; thrown in line &quot; &lt;&lt; e.getLine() &lt;&lt; &quot; of file &#39;&quot; &lt;&lt; e.getFile()     \</span></div>
<div class="line"><a name="l00448"></a><span class="lineno">  448</span>&#160;<span class="preprocessor">                  &lt;&lt; &quot;&#39; in function &#39;&quot; &lt;&lt; e.getFunction() &lt;&lt; &quot;&#39;&quot;;                         \</span></div>
<div class="line"><a name="l00449"></a><span class="lineno">  449</span>&#160;<span class="preprocessor">      }                                                                                   \</span></div>
<div class="line"><a name="l00450"></a><span class="lineno">  450</span>&#160;<span class="preprocessor">      std__cout &lt;&lt; &quot; - Message: &quot; &lt;&lt; e.what() &lt;&lt; std::endl;                               \</span></div>
<div class="line"><a name="l00451"></a><span class="lineno">  451</span>&#160;<span class="preprocessor">    }                                                                                     \</span></div>
<div class="line"><a name="l00452"></a><span class="lineno">  452</span>&#160;<span class="preprocessor">  }                                                                                       \</span></div>
<div class="line"><a name="l00453"></a><span class="lineno">  453</span>&#160;<span class="preprocessor">  </span><span class="comment">/* catch std:: exceptions */</span><span class="preprocessor">                                                            \</span></div>
<div class="line"><a name="l00454"></a><span class="lineno">  454</span>&#160;<span class="preprocessor">  catch (std::exception&amp; e)                                                               \</span></div>
<div class="line"><a name="l00455"></a><span class="lineno">  455</span>&#160;<span class="preprocessor">  {                                                                                       \</span></div>
<div class="line"><a name="l00456"></a><span class="lineno">  456</span>&#160;<span class="preprocessor">    TEST::this_test = false;                                                              \</span></div>
<div class="line"><a name="l00457"></a><span class="lineno">  457</span>&#160;<span class="preprocessor">    TEST::test = false;                                                                   \</span></div>
<div class="line"><a name="l00458"></a><span class="lineno">  458</span>&#160;<span class="preprocessor">    TEST::all_tests = false;                                                              \</span></div>
<div class="line"><a name="l00459"></a><span class="lineno">  459</span>&#160;<span class="preprocessor">    {                                                                                     \</span></div>
<div class="line"><a name="l00460"></a><span class="lineno">  460</span>&#160;<span class="preprocessor">      TEST::initialNewline();                                                             \</span></div>
<div class="line"><a name="l00461"></a><span class="lineno">  461</span>&#160;<span class="preprocessor">      std__cout &lt;&lt; &quot;Error: Caught unexpected std::exception&quot; &lt;&lt; std::endl;                \</span></div>
<div class="line"><a name="l00462"></a><span class="lineno">  462</span>&#160;<span class="preprocessor">      std__cout &lt;&lt; &quot; - Message: &quot; &lt;&lt; e.what() &lt;&lt; std::endl;                               \</span></div>
<div class="line"><a name="l00463"></a><span class="lineno">  463</span>&#160;<span class="preprocessor">    }                                                                                     \</span></div>
<div class="line"><a name="l00464"></a><span class="lineno">  464</span>&#160;<span class="preprocessor">  }                                                                                       \</span></div>
<div class="line"><a name="l00465"></a><span class="lineno">  465</span>&#160;<span class="preprocessor">  </span><span class="comment">/* catch all other exceptions */</span><span class="preprocessor">                                                        \</span></div>
<div class="line"><a name="l00466"></a><span class="lineno">  466</span>&#160;<span class="preprocessor">  catch (...)                                                                             \</span></div>
<div class="line"><a name="l00467"></a><span class="lineno">  467</span>&#160;<span class="preprocessor">  {                                                                                       \</span></div>
<div class="line"><a name="l00468"></a><span class="lineno">  468</span>&#160;<span class="preprocessor">    TEST::this_test = false;                                                              \</span></div>
<div class="line"><a name="l00469"></a><span class="lineno">  469</span>&#160;<span class="preprocessor">    TEST::test = false;                                                                   \</span></div>
<div class="line"><a name="l00470"></a><span class="lineno">  470</span>&#160;<span class="preprocessor">    TEST::all_tests = false;                                                              \</span></div>
<div class="line"><a name="l00471"></a><span class="lineno">  471</span>&#160;<span class="preprocessor">    {                                                                                     \</span></div>
<div class="line"><a name="l00472"></a><span class="lineno">  472</span>&#160;<span class="preprocessor">      TEST::initialNewline();                                                             \</span></div>
<div class="line"><a name="l00473"></a><span class="lineno">  473</span>&#160;<span class="preprocessor">      std__cout &lt;&lt; &quot;Error: Caught unidentified and unexpected exception - No message.&quot;    \</span></div>
<div class="line"><a name="l00474"></a><span class="lineno">  474</span>&#160;<span class="preprocessor">                &lt;&lt; std::endl;                                                             \</span></div>
<div class="line"><a name="l00475"></a><span class="lineno">  475</span>&#160;<span class="preprocessor">    }                                                                                     \</span></div>
<div class="line"><a name="l00476"></a><span class="lineno">  476</span>&#160;<span class="preprocessor">  }                                                                                       \</span></div>
<div class="line"><a name="l00477"></a><span class="lineno">  477</span>&#160;<span class="preprocessor">  </span><span class="comment">/* check validity of temporary files if known */</span><span class="preprocessor">                                        \</span></div>
<div class="line"><a name="l00478"></a><span class="lineno">  478</span>&#160;<span class="preprocessor">  if (!TEST::validate(TEST::tmp_file_list))                                               \</span></div>
<div class="line"><a name="l00479"></a><span class="lineno">  479</span>&#160;<span class="preprocessor">  {                                                                                       \</span></div>
<div class="line"><a name="l00480"></a><span class="lineno">  480</span>&#160;<span class="preprocessor">    TEST::all_tests = false;                                                              \</span></div>
<div class="line"><a name="l00481"></a><span class="lineno">  481</span>&#160;<span class="preprocessor">  }                                                                                       \</span></div>
<div class="line"><a name="l00482"></a><span class="lineno">  482</span>&#160;<span class="preprocessor">  </span><span class="comment">/* check for exit code */</span><span class="preprocessor">                                                               \</span></div>
<div class="line"><a name="l00483"></a><span class="lineno">  483</span>&#160;<span class="preprocessor">  if (!TEST::all_tests)                                                                   \</span></div>
<div class="line"><a name="l00484"></a><span class="lineno">  484</span>&#160;<span class="preprocessor">  {                                                                                       \</span></div>
<div class="line"><a name="l00485"></a><span class="lineno">  485</span>&#160;<span class="preprocessor">    std__cout &lt;&lt; &quot;FAILED&quot; &lt;&lt; std::endl;                                                   \</span></div>
<div class="line"><a name="l00486"></a><span class="lineno">  486</span>&#160;<span class="preprocessor">    if (TEST::add_message != &quot;&quot;) std__cout &lt;&lt; &quot;Message: &quot;                                 \</span></div>
<div class="line"><a name="l00487"></a><span class="lineno">  487</span>&#160;<span class="preprocessor">                                           &lt;&lt; TEST::add_message                           \</span></div>
<div class="line"><a name="l00488"></a><span class="lineno">  488</span>&#160;<span class="preprocessor">                                           &lt;&lt; std::endl;                                  \</span></div>
<div class="line"><a name="l00489"></a><span class="lineno">  489</span>&#160;<span class="preprocessor">    std__cout &lt;&lt; &quot;Failed lines: &quot;;                                                        \</span></div>
<div class="line"><a name="l00490"></a><span class="lineno">  490</span>&#160;<span class="preprocessor">    for (OpenMS::Size i = 0; i &lt; TEST::failed_lines_list.size(); ++i)                     \</span></div>
<div class="line"><a name="l00491"></a><span class="lineno">  491</span>&#160;<span class="preprocessor">    {                                                                                     \</span></div>
<div class="line"><a name="l00492"></a><span class="lineno">  492</span>&#160;<span class="preprocessor">      std__cout &lt;&lt; TEST::failed_lines_list[i] &lt;&lt; &quot; &quot;;                                     \</span></div>
<div class="line"><a name="l00493"></a><span class="lineno">  493</span>&#160;<span class="preprocessor">    }                                                                                     \</span></div>
<div class="line"><a name="l00494"></a><span class="lineno">  494</span>&#160;<span class="preprocessor">    std__cout &lt;&lt; std::endl;                                                               \</span></div>
<div class="line"><a name="l00495"></a><span class="lineno">  495</span>&#160;<span class="preprocessor">    return 1;                                                                             \</span></div>
<div class="line"><a name="l00496"></a><span class="lineno">  496</span>&#160;<span class="preprocessor">  }                                                                                       \</span></div>
<div class="line"><a name="l00497"></a><span class="lineno">  497</span>&#160;<span class="preprocessor">  else                                                                                    \</span></div>
<div class="line"><a name="l00498"></a><span class="lineno">  498</span>&#160;<span class="preprocessor">  {                                                                                       \</span></div>
<div class="line"><a name="l00499"></a><span class="lineno">  499</span>&#160;<span class="preprocessor">    </span><span class="comment">/* remove temporary files*/</span><span class="preprocessor">                                                           \</span></div>
<div class="line"><a name="l00500"></a><span class="lineno">  500</span>&#160;<span class="preprocessor">    for (OpenMS::Size i = 0; i &lt; TEST::tmp_file_list.size(); ++i)                         \</span></div>
<div class="line"><a name="l00501"></a><span class="lineno">  501</span>&#160;<span class="preprocessor">    {                                                                                     \</span></div>
<div class="line"><a name="l00502"></a><span class="lineno">  502</span>&#160;<span class="preprocessor">      if (!OpenMS::File::remove(TEST::tmp_file_list[i]))                                  \</span></div>
<div class="line"><a name="l00503"></a><span class="lineno">  503</span>&#160;<span class="preprocessor">      {                                                                                   \</span></div>
<div class="line"><a name="l00504"></a><span class="lineno">  504</span>&#160;<span class="preprocessor">        std__cout &lt;&lt; &quot;Warning: unable to remove temporary file &#39;&quot;                         \</span></div>
<div class="line"><a name="l00505"></a><span class="lineno">  505</span>&#160;<span class="preprocessor">                  &lt;&lt; TEST::tmp_file_list[i]                                               \</span></div>
<div class="line"><a name="l00506"></a><span class="lineno">  506</span>&#160;<span class="preprocessor">                  &lt;&lt; &quot;&#39;&quot;                                                                  \</span></div>
<div class="line"><a name="l00507"></a><span class="lineno">  507</span>&#160;<span class="preprocessor">                  &lt;&lt; std::endl;                                                           \</span></div>
<div class="line"><a name="l00508"></a><span class="lineno">  508</span>&#160;<span class="preprocessor">      }                                                                                   \</span></div>
<div class="line"><a name="l00509"></a><span class="lineno">  509</span>&#160;<span class="preprocessor">    }                                                                                     \</span></div>
<div class="line"><a name="l00510"></a><span class="lineno">  510</span>&#160;<span class="preprocessor">    std__cout &lt;&lt; &quot;PASSED&quot;;                                                                \</span></div>
<div class="line"><a name="l00511"></a><span class="lineno">  511</span>&#160;<span class="preprocessor">    if (TEST::add_message != &quot;&quot;) std__cout &lt;&lt; &quot; (&quot; &lt;&lt; TEST::add_message &lt;&lt; &quot;)&quot;;           \</span></div>
<div class="line"><a name="l00512"></a><span class="lineno">  512</span>&#160;<span class="preprocessor">    std__cout &lt;&lt; std::endl;                                                               \</span></div>
<div class="line"><a name="l00513"></a><span class="lineno">  513</span>&#160;<span class="preprocessor">    return 0;                                                                             \</span></div>
<div class="line"><a name="l00514"></a><span class="lineno">  514</span>&#160;<span class="preprocessor">  }                                                                                       \</span></div>
<div class="line"><a name="l00515"></a><span class="lineno">  515</span>&#160;<span class="preprocessor">  }</span></div>
<div class="line"><a name="l00516"></a><span class="lineno">  516</span>&#160;<span class="preprocessor"></span></div>
<div class="line"><a name="l00539"></a><span class="lineno"><a class="line" href="group__ClassTest.html#gadb786f2a6d34bd9cc6013fb973f18c13">  539</a></span>&#160;<span class="preprocessor">#define START_SECTION(name_of_test)                                                       \</span></div>
<div class="line"><a name="l00540"></a><span class="lineno">  540</span>&#160;<span class="preprocessor">  TEST::test = true;                                                                      \</span></div>
<div class="line"><a name="l00541"></a><span class="lineno">  541</span>&#160;<span class="preprocessor">  TEST::newline = false;                                                                  \</span></div>
<div class="line"><a name="l00542"></a><span class="lineno">  542</span>&#160;<span class="preprocessor">  TEST::test_name = # name_of_test;                                                       \</span></div>
<div class="line"><a name="l00543"></a><span class="lineno">  543</span>&#160;<span class="preprocessor">  TEST::test_count = 0;                                                                   \</span></div>
<div class="line"><a name="l00544"></a><span class="lineno">  544</span>&#160;<span class="preprocessor">  TEST::start_section_line = __LINE__;                                                    \</span></div>
<div class="line"><a name="l00545"></a><span class="lineno">  545</span>&#160;<span class="preprocessor">  std__cout &lt;&lt; &quot;checking &quot; &lt;&lt; TEST::test_name &lt;&lt; &quot; ... &quot; &lt;&lt; std::flush;                   \</span></div>
<div class="line"><a name="l00546"></a><span class="lineno">  546</span>&#160;<span class="preprocessor">  try                                                                                     \</span></div>
<div class="line"><a name="l00547"></a><span class="lineno">  547</span>&#160;<span class="preprocessor">  {                                                                                       \</span></div>
<div class="line"><a name="l00548"></a><span class="lineno">  548</span>&#160;<span class="preprocessor">    while (true)                                                                          \</span></div>
<div class="line"><a name="l00549"></a><span class="lineno">  549</span>&#160;<span class="preprocessor">    {</span></div>
<div class="line"><a name="l00550"></a><span class="lineno">  550</span>&#160;<span class="preprocessor"></span></div>
<div class="line"><a name="l00576"></a><span class="lineno"><a class="line" href="group__ClassTest.html#ga123b967d91e583fb00b377328ba78b46">  576</a></span>&#160;<span class="preprocessor">#define END_SECTION                                                                       \</span></div>
<div class="line"><a name="l00577"></a><span class="lineno">  577</span>&#160;<span class="preprocessor">  break;                                                                                  \</span></div>
<div class="line"><a name="l00578"></a><span class="lineno">  578</span>&#160;<span class="preprocessor">  }                                                                                       \</span></div>
<div class="line"><a name="l00579"></a><span class="lineno">  579</span>&#160;<span class="preprocessor">  }                                                                                       \</span></div>
<div class="line"><a name="l00580"></a><span class="lineno">  580</span>&#160;<span class="preprocessor">  catch (::OpenMS::Exception::BaseException&amp; e)                                           \</span></div>
<div class="line"><a name="l00581"></a><span class="lineno">  581</span>&#160;<span class="preprocessor">  {                                                                                       \</span></div>
<div class="line"><a name="l00582"></a><span class="lineno">  582</span>&#160;<span class="preprocessor">    TEST::this_test = false;                                                              \</span></div>
<div class="line"><a name="l00583"></a><span class="lineno">  583</span>&#160;<span class="preprocessor">    TEST::test = false;                                                                   \</span></div>
<div class="line"><a name="l00584"></a><span class="lineno">  584</span>&#160;<span class="preprocessor">    TEST::all_tests = false;                                                              \</span></div>
<div class="line"><a name="l00585"></a><span class="lineno">  585</span>&#160;<span class="preprocessor">    {                                                                                     \</span></div>
<div class="line"><a name="l00586"></a><span class="lineno">  586</span>&#160;<span class="preprocessor">      TEST::initialNewline();                                                             \</span></div>
<div class="line"><a name="l00587"></a><span class="lineno">  587</span>&#160;<span class="preprocessor">      std__cout &lt;&lt; &quot;Error: Caught unexpected exception of type &#39;&quot; &lt;&lt; e.getName() &lt;&lt; &quot;&#39;&quot;;  \</span></div>
<div class="line"><a name="l00588"></a><span class="lineno">  588</span>&#160;<span class="preprocessor">      if ((e.getLine() &gt; 0) &amp;&amp; (std::strcmp(e.getFile(), &quot;&quot;) != 0))                       \</span></div>
<div class="line"><a name="l00589"></a><span class="lineno">  589</span>&#160;<span class="preprocessor">      {                                                                                   \</span></div>
<div class="line"><a name="l00590"></a><span class="lineno">  590</span>&#160;<span class="preprocessor">        std__cout &lt;&lt; &quot; thrown in line &quot; &lt;&lt; e.getLine() &lt;&lt; &quot; of file &#39;&quot; &lt;&lt; e.getFile()     \</span></div>
<div class="line"><a name="l00591"></a><span class="lineno">  591</span>&#160;<span class="preprocessor">                  &lt;&lt; &quot;&#39; in function &#39;&quot; &lt;&lt; e.getFunction() &lt;&lt; &quot;&#39;&quot;;                         \</span></div>
<div class="line"><a name="l00592"></a><span class="lineno">  592</span>&#160;<span class="preprocessor">      }                                                                                   \</span></div>
<div class="line"><a name="l00593"></a><span class="lineno">  593</span>&#160;<span class="preprocessor">      std__cout &lt;&lt; &quot; - Message: &quot; &lt;&lt; e.what() &lt;&lt; std::endl;                               \</span></div>
<div class="line"><a name="l00594"></a><span class="lineno">  594</span>&#160;<span class="preprocessor">    }                                                                                     \</span></div>
<div class="line"><a name="l00595"></a><span class="lineno">  595</span>&#160;<span class="preprocessor">  }                                                                                       \</span></div>
<div class="line"><a name="l00596"></a><span class="lineno">  596</span>&#160;<span class="preprocessor">  </span><span class="comment">/* catch std:: exceptions */</span><span class="preprocessor">                                                            \</span></div>
<div class="line"><a name="l00597"></a><span class="lineno">  597</span>&#160;<span class="preprocessor">  catch (std::exception&amp; e)                                                               \</span></div>
<div class="line"><a name="l00598"></a><span class="lineno">  598</span>&#160;<span class="preprocessor">  {                                                                                       \</span></div>
<div class="line"><a name="l00599"></a><span class="lineno">  599</span>&#160;<span class="preprocessor">    TEST::this_test = false;                                                              \</span></div>
<div class="line"><a name="l00600"></a><span class="lineno">  600</span>&#160;<span class="preprocessor">    TEST::test = false;                                                                   \</span></div>
<div class="line"><a name="l00601"></a><span class="lineno">  601</span>&#160;<span class="preprocessor">    TEST::all_tests = false;                                                              \</span></div>
<div class="line"><a name="l00602"></a><span class="lineno">  602</span>&#160;<span class="preprocessor">    {                                                                                     \</span></div>
<div class="line"><a name="l00603"></a><span class="lineno">  603</span>&#160;<span class="preprocessor">      TEST::initialNewline();                                                             \</span></div>
<div class="line"><a name="l00604"></a><span class="lineno">  604</span>&#160;<span class="preprocessor">      std__cout &lt;&lt; &quot;Error: Caught std::exception&quot; &lt;&lt; std::endl;                           \</span></div>
<div class="line"><a name="l00605"></a><span class="lineno">  605</span>&#160;<span class="preprocessor">      std__cout &lt;&lt; &quot; - Message: &quot; &lt;&lt; e.what() &lt;&lt; std::endl;                               \</span></div>
<div class="line"><a name="l00606"></a><span class="lineno">  606</span>&#160;<span class="preprocessor">    }                                                                                     \</span></div>
<div class="line"><a name="l00607"></a><span class="lineno">  607</span>&#160;<span class="preprocessor">  }                                                                                       \</span></div>
<div class="line"><a name="l00608"></a><span class="lineno">  608</span>&#160;<span class="preprocessor">  </span><span class="comment">/* catch all other exceptions */</span><span class="preprocessor">                                                        \</span></div>
<div class="line"><a name="l00609"></a><span class="lineno">  609</span>&#160;<span class="preprocessor">  catch (...)                                                                             \</span></div>
<div class="line"><a name="l00610"></a><span class="lineno">  610</span>&#160;<span class="preprocessor">  {                                                                                       \</span></div>
<div class="line"><a name="l00611"></a><span class="lineno">  611</span>&#160;<span class="preprocessor">    TEST::this_test = false;                                                              \</span></div>
<div class="line"><a name="l00612"></a><span class="lineno">  612</span>&#160;<span class="preprocessor">    TEST::test = false;                                                                   \</span></div>
<div class="line"><a name="l00613"></a><span class="lineno">  613</span>&#160;<span class="preprocessor">    TEST::all_tests = false;                                                              \</span></div>
<div class="line"><a name="l00614"></a><span class="lineno">  614</span>&#160;<span class="preprocessor">    {                                                                                     \</span></div>
<div class="line"><a name="l00615"></a><span class="lineno">  615</span>&#160;<span class="preprocessor">      TEST::initialNewline();                                                             \</span></div>
<div class="line"><a name="l00616"></a><span class="lineno">  616</span>&#160;<span class="preprocessor">      std__cout &lt;&lt; &quot;Error: Caught unidentified and unexpected exception - No message.&quot;    \</span></div>
<div class="line"><a name="l00617"></a><span class="lineno">  617</span>&#160;<span class="preprocessor">                &lt;&lt; std::endl;                                                             \</span></div>
<div class="line"><a name="l00618"></a><span class="lineno">  618</span>&#160;<span class="preprocessor">    }                                                                                     \</span></div>
<div class="line"><a name="l00619"></a><span class="lineno">  619</span>&#160;<span class="preprocessor">  }                                                                                       \</span></div>
<div class="line"><a name="l00620"></a><span class="lineno">  620</span>&#160;<span class="preprocessor">  TEST::all_tests = TEST::all_tests &amp;&amp; TEST::test;                                        \</span></div>
<div class="line"><a name="l00621"></a><span class="lineno">  621</span>&#160;<span class="preprocessor">  {                                                                                       \</span></div>
<div class="line"><a name="l00622"></a><span class="lineno">  622</span>&#160;<span class="preprocessor">    if (TEST::test)                                                                       \</span></div>
<div class="line"><a name="l00623"></a><span class="lineno">  623</span>&#160;<span class="preprocessor">    {                                                                                     \</span></div>
<div class="line"><a name="l00624"></a><span class="lineno">  624</span>&#160;<span class="preprocessor">      std__cout &lt;&lt; &quot;: passed&quot; &lt;&lt; std::endl;                                               \</span></div>
<div class="line"><a name="l00625"></a><span class="lineno">  625</span>&#160;<span class="preprocessor">    }                                                                                     \</span></div>
<div class="line"><a name="l00626"></a><span class="lineno">  626</span>&#160;<span class="preprocessor">    else                                                                                  \</span></div>
<div class="line"><a name="l00627"></a><span class="lineno">  627</span>&#160;<span class="preprocessor">    {                                                                                     \</span></div>
<div class="line"><a name="l00628"></a><span class="lineno">  628</span>&#160;<span class="preprocessor">      std__cout &lt;&lt; &quot;: failed&quot; &lt;&lt; std::endl;                                               \</span></div>
<div class="line"><a name="l00629"></a><span class="lineno">  629</span>&#160;<span class="preprocessor">    }                                                                                     \</span></div>
<div class="line"><a name="l00630"></a><span class="lineno">  630</span>&#160;<span class="preprocessor">  }                                                                                       \</span></div>
<div class="line"><a name="l00631"></a><span class="lineno">  631</span>&#160;<span class="preprocessor">  </span><span class="comment">/* issue a warning if no tests were performed (unless in destructor)*/</span><span class="preprocessor">                  \</span></div>
<div class="line"><a name="l00632"></a><span class="lineno">  632</span>&#160;<span class="preprocessor">  if (TEST::test_count == 0)                                                              \</span></div>
<div class="line"><a name="l00633"></a><span class="lineno">  633</span>&#160;<span class="preprocessor">  {                                                                                       \</span></div>
<div class="line"><a name="l00634"></a><span class="lineno">  634</span>&#160;<span class="preprocessor">    bool destructor = false;                                                              \</span></div>
<div class="line"><a name="l00635"></a><span class="lineno">  635</span>&#160;<span class="preprocessor">    for (OpenMS::Size i = 0; i != TEST::test_name.size(); ++i)                            \</span></div>
<div class="line"><a name="l00636"></a><span class="lineno">  636</span>&#160;<span class="preprocessor">    {                                                                                     \</span></div>
<div class="line"><a name="l00637"></a><span class="lineno">  637</span>&#160;<span class="preprocessor">      if (TEST::test_name[i] == &#39;~&#39;)                                                      \</span></div>
<div class="line"><a name="l00638"></a><span class="lineno">  638</span>&#160;<span class="preprocessor">      {                                                                                   \</span></div>
<div class="line"><a name="l00639"></a><span class="lineno">  639</span>&#160;<span class="preprocessor">        destructor = true;                                                                \</span></div>
<div class="line"><a name="l00640"></a><span class="lineno">  640</span>&#160;<span class="preprocessor">        break;                                                                            \</span></div>
<div class="line"><a name="l00641"></a><span class="lineno">  641</span>&#160;<span class="preprocessor">      }                                                                                   \</span></div>
<div class="line"><a name="l00642"></a><span class="lineno">  642</span>&#160;<span class="preprocessor">    }                                                                                     \</span></div>
<div class="line"><a name="l00643"></a><span class="lineno">  643</span>&#160;<span class="preprocessor">    if (!destructor) std__cout &lt;&lt; &quot;Warning: no subtests performed in &#39;&quot;                   \</span></div>
<div class="line"><a name="l00644"></a><span class="lineno">  644</span>&#160;<span class="preprocessor">                               &lt;&lt; TEST::test_name                                         \</span></div>
<div class="line"><a name="l00645"></a><span class="lineno">  645</span>&#160;<span class="preprocessor">                               &lt;&lt; &quot;&#39; (line &quot;                                              \</span></div>
<div class="line"><a name="l00646"></a><span class="lineno">  646</span>&#160;<span class="preprocessor">                               &lt;&lt; __LINE__                                                \</span></div>
<div class="line"><a name="l00647"></a><span class="lineno">  647</span>&#160;<span class="preprocessor">                               &lt;&lt; &quot;)!&quot;                                                    \</span></div>
<div class="line"><a name="l00648"></a><span class="lineno">  648</span>&#160;<span class="preprocessor">                               &lt;&lt; std::endl                                               \</span></div>
<div class="line"><a name="l00649"></a><span class="lineno">  649</span>&#160;<span class="preprocessor">                               &lt;&lt; std::flush;                                             \</span></div>
<div class="line"><a name="l00650"></a><span class="lineno">  650</span>&#160;<span class="preprocessor">  }                                                                                       \</span></div>
<div class="line"><a name="l00651"></a><span class="lineno">  651</span>&#160;<span class="preprocessor">  std__cout &lt;&lt; std::endl;</span></div>
<div class="line"><a name="l00652"></a><span class="lineno">  652</span>&#160;<span class="preprocessor"></span></div>
<div class="line"><a name="l00654"></a><span class="lineno">  654</span>&#160;</div>
<div class="line"><a name="l00674"></a><span class="lineno"><a class="line" href="group__ClassTest.html#ga28c3e33e75987220375e36d1480e26ec">  674</a></span>&#160;<span class="preprocessor">#define TEST_EQUAL(a, b) TEST::testEqual(__FILE__, __LINE__, (a), (# a), (b), (# b));</span></div>
<div class="line"><a name="l00675"></a><span class="lineno">  675</span>&#160;<span class="preprocessor"></span></div>
<div class="line"><a name="l00687"></a><span class="lineno"><a class="line" href="group__ClassTest.html#gaf2f6f2b204d65f32c50a4411dc590fa3">  687</a></span>&#160;<span class="preprocessor">#define TEST_NOT_EQUAL(a, b) TEST::testNotEqual(__FILE__, __LINE__, (a), (# a), (b), (# b));</span></div>
<div class="line"><a name="l00688"></a><span class="lineno">  688</span>&#160;<span class="preprocessor"></span></div>
<div class="line"><a name="l00701"></a><span class="lineno"><a class="line" href="group__ClassTest.html#ga2d9f6a1d674b7bcab0c60a5711b8cb06">  701</a></span>&#160;<span class="preprocessor">#define TEST_STRING_EQUAL(a, b) TEST::testStringEqual(__FILE__, __LINE__, (a), (# a), (b), (# b));</span></div>
<div class="line"><a name="l00702"></a><span class="lineno">  702</span>&#160;<span class="preprocessor"></span></div>
<div class="line"><a name="l00717"></a><span class="lineno"><a class="line" href="group__ClassTest.html#ga85ba35f6ee95e23e4cd008318495de54">  717</a></span>&#160;<span class="preprocessor">#define TEST_FILE_EQUAL(filename, templatename)                                           \</span></div>
<div class="line"><a name="l00718"></a><span class="lineno">  718</span>&#160;<span class="preprocessor">  {                                                                                       \</span></div>
<div class="line"><a name="l00719"></a><span class="lineno">  719</span>&#160;<span class="preprocessor">    ++TEST::test_count;                                                                   \</span></div>
<div class="line"><a name="l00720"></a><span class="lineno">  720</span>&#160;<span class="preprocessor">    TEST::equal_files = true;                                                             \</span></div>
<div class="line"><a name="l00721"></a><span class="lineno">  721</span>&#160;<span class="preprocessor">    TEST::infile.open(filename, std::ios::in);                                            \</span></div>
<div class="line"><a name="l00722"></a><span class="lineno">  722</span>&#160;<span class="preprocessor">    TEST::templatefile.open(templatename, std::ios::in);                                  \</span></div>
<div class="line"><a name="l00723"></a><span class="lineno">  723</span>&#160;<span class="preprocessor">                                                                                          \</span></div>
<div class="line"><a name="l00724"></a><span class="lineno">  724</span>&#160;<span class="preprocessor">    if (TEST::infile.good() &amp;&amp; TEST::templatefile.good())                                 \</span></div>
<div class="line"><a name="l00725"></a><span class="lineno">  725</span>&#160;<span class="preprocessor">    {                                                                                     \</span></div>
<div class="line"><a name="l00726"></a><span class="lineno">  726</span>&#160;<span class="preprocessor">      std::string TEST_FILE__template_line;                                               \</span></div>
<div class="line"><a name="l00727"></a><span class="lineno">  727</span>&#160;<span class="preprocessor">      std::string TEST_FILE__line;                                                        \</span></div>
<div class="line"><a name="l00728"></a><span class="lineno">  728</span>&#160;<span class="preprocessor">                                                                                          \</span></div>
<div class="line"><a name="l00729"></a><span class="lineno">  729</span>&#160;<span class="preprocessor">      while (TEST::infile.good() &amp;&amp; TEST::templatefile.good())                            \</span></div>
<div class="line"><a name="l00730"></a><span class="lineno">  730</span>&#160;<span class="preprocessor">      {                                                                                   \</span></div>
<div class="line"><a name="l00731"></a><span class="lineno">  731</span>&#160;<span class="preprocessor">        TEST::templatefile.getline(TEST::line_buffer, 65535);                             \</span></div>
<div class="line"><a name="l00732"></a><span class="lineno">  732</span>&#160;<span class="preprocessor">        TEST_FILE__template_line = TEST::line_buffer;                                     \</span></div>
<div class="line"><a name="l00733"></a><span class="lineno">  733</span>&#160;<span class="preprocessor">        TEST::infile.getline(TEST::line_buffer, 65535);                                   \</span></div>
<div class="line"><a name="l00734"></a><span class="lineno">  734</span>&#160;<span class="preprocessor">        TEST_FILE__line = TEST::line_buffer;                                              \</span></div>
<div class="line"><a name="l00735"></a><span class="lineno">  735</span>&#160;<span class="preprocessor">                                                                                          \</span></div>
<div class="line"><a name="l00736"></a><span class="lineno">  736</span>&#160;<span class="preprocessor">        TEST::equal_files &amp;= (TEST_FILE__template_line == TEST_FILE__line);               \</span></div>
<div class="line"><a name="l00737"></a><span class="lineno">  737</span>&#160;<span class="preprocessor">        if (TEST_FILE__template_line != TEST_FILE__line)                                  \</span></div>
<div class="line"><a name="l00738"></a><span class="lineno">  738</span>&#160;<span class="preprocessor">        {                                                                                 \</span></div>
<div class="line"><a name="l00739"></a><span class="lineno">  739</span>&#160;<span class="preprocessor">          {                                                                               \</span></div>
<div class="line"><a name="l00740"></a><span class="lineno">  740</span>&#160;<span class="preprocessor">            TEST::initialNewline();                                                       \</span></div>
<div class="line"><a name="l00741"></a><span class="lineno">  741</span>&#160;<span class="preprocessor">            std__cout &lt;&lt; &quot;   TEST_FILE_EQUAL: line mismatch:\n    got:      &#39;&quot;            \</span></div>
<div class="line"><a name="l00742"></a><span class="lineno">  742</span>&#160;<span class="preprocessor">                      &lt;&lt; TEST_FILE__line &lt;&lt; &quot;&#39;\n    expected: &#39;&quot;                          \</span></div>
<div class="line"><a name="l00743"></a><span class="lineno">  743</span>&#160;<span class="preprocessor">                      &lt;&lt; TEST_FILE__template_line &lt;&lt; &quot;&#39;&quot; &lt;&lt; std::endl;                    \</span></div>
<div class="line"><a name="l00744"></a><span class="lineno">  744</span>&#160;<span class="preprocessor">          }                                                                               \</span></div>
<div class="line"><a name="l00745"></a><span class="lineno">  745</span>&#160;<span class="preprocessor">        }                                                                                 \</span></div>
<div class="line"><a name="l00746"></a><span class="lineno">  746</span>&#160;<span class="preprocessor">      }                                                                                   \</span></div>
<div class="line"><a name="l00747"></a><span class="lineno">  747</span>&#160;<span class="preprocessor">    }                                                                                     \</span></div>
<div class="line"><a name="l00748"></a><span class="lineno">  748</span>&#160;<span class="preprocessor">    else                                                                                  \</span></div>
<div class="line"><a name="l00749"></a><span class="lineno">  749</span>&#160;<span class="preprocessor">    {                                                                                     \</span></div>
<div class="line"><a name="l00750"></a><span class="lineno">  750</span>&#160;<span class="preprocessor">      TEST::equal_files = false;                                                          \</span></div>
<div class="line"><a name="l00751"></a><span class="lineno">  751</span>&#160;<span class="preprocessor">      {                                                                                   \</span></div>
<div class="line"><a name="l00752"></a><span class="lineno">  752</span>&#160;<span class="preprocessor">        TEST::initialNewline();                                                           \</span></div>
<div class="line"><a name="l00753"></a><span class="lineno">  753</span>&#160;<span class="preprocessor">        std__cout &lt;&lt; &quot; +  line &quot;                                                          \</span></div>
<div class="line"><a name="l00754"></a><span class="lineno">  754</span>&#160;<span class="preprocessor">                  &lt;&lt; __LINE__                                                             \</span></div>
<div class="line"><a name="l00755"></a><span class="lineno">  755</span>&#160;<span class="preprocessor">                  &lt;&lt; &quot;: TEST_FILE_EQUAL(&quot;                                                 \</span></div>
<div class="line"><a name="l00756"></a><span class="lineno">  756</span>&#160;<span class="preprocessor">                  &lt;&lt; # filename                                                           \</span></div>
<div class="line"><a name="l00757"></a><span class="lineno">  757</span>&#160;<span class="preprocessor">                  &lt;&lt; &quot;, &quot;                                                                 \</span></div>
<div class="line"><a name="l00758"></a><span class="lineno">  758</span>&#160;<span class="preprocessor">                  &lt;&lt; # templatename;                                                      \</span></div>
<div class="line"><a name="l00759"></a><span class="lineno">  759</span>&#160;<span class="preprocessor">        std__cout &lt;&lt; &quot;) : &quot; &lt;&lt; &quot; cannot open file: \&quot;&quot;;                                   \</span></div>
<div class="line"><a name="l00760"></a><span class="lineno">  760</span>&#160;<span class="preprocessor">        if (!TEST::infile.good())                                                         \</span></div>
<div class="line"><a name="l00761"></a><span class="lineno">  761</span>&#160;<span class="preprocessor">        {                                                                                 \</span></div>
<div class="line"><a name="l00762"></a><span class="lineno">  762</span>&#160;<span class="preprocessor">          std__cout &lt;&lt; filename &lt;&lt; &quot;\&quot; (input file) &quot;;                                    \</span></div>
<div class="line"><a name="l00763"></a><span class="lineno">  763</span>&#160;<span class="preprocessor">        }                                                                                 \</span></div>
<div class="line"><a name="l00764"></a><span class="lineno">  764</span>&#160;<span class="preprocessor">        if (!TEST::templatefile.good())                                                   \</span></div>
<div class="line"><a name="l00765"></a><span class="lineno">  765</span>&#160;<span class="preprocessor">        {                                                                                 \</span></div>
<div class="line"><a name="l00766"></a><span class="lineno">  766</span>&#160;<span class="preprocessor">          std__cout &lt;&lt; templatename &lt;&lt; &quot;\&quot; (template file) &quot;;                             \</span></div>
<div class="line"><a name="l00767"></a><span class="lineno">  767</span>&#160;<span class="preprocessor">        }                                                                                 \</span></div>
<div class="line"><a name="l00768"></a><span class="lineno">  768</span>&#160;<span class="preprocessor">        std__cout &lt;&lt; std::endl;                                                           \</span></div>
<div class="line"><a name="l00769"></a><span class="lineno">  769</span>&#160;<span class="preprocessor">                                                                                          \</span></div>
<div class="line"><a name="l00770"></a><span class="lineno">  770</span>&#160;<span class="preprocessor">      }                                                                                   \</span></div>
<div class="line"><a name="l00771"></a><span class="lineno">  771</span>&#160;<span class="preprocessor">    }                                                                                     \</span></div>
<div class="line"><a name="l00772"></a><span class="lineno">  772</span>&#160;<span class="preprocessor">    TEST::infile.close();                                                                 \</span></div>
<div class="line"><a name="l00773"></a><span class="lineno">  773</span>&#160;<span class="preprocessor">    TEST::templatefile.close();                                                           \</span></div>
<div class="line"><a name="l00774"></a><span class="lineno">  774</span>&#160;<span class="preprocessor">    TEST::infile.clear();                                                                 \</span></div>
<div class="line"><a name="l00775"></a><span class="lineno">  775</span>&#160;<span class="preprocessor">    TEST::templatefile.clear();                                                           \</span></div>
<div class="line"><a name="l00776"></a><span class="lineno">  776</span>&#160;<span class="preprocessor">                                                                                          \</span></div>
<div class="line"><a name="l00777"></a><span class="lineno">  777</span>&#160;<span class="preprocessor">    TEST::this_test = TEST::equal_files;                                                  \</span></div>
<div class="line"><a name="l00778"></a><span class="lineno">  778</span>&#160;<span class="preprocessor">    TEST::test = TEST::test &amp;&amp; TEST::this_test;                                           \</span></div>
<div class="line"><a name="l00779"></a><span class="lineno">  779</span>&#160;<span class="preprocessor">    {                                                                                     \</span></div>
<div class="line"><a name="l00780"></a><span class="lineno">  780</span>&#160;<span class="preprocessor">      TEST::initialNewline();                                                             \</span></div>
<div class="line"><a name="l00781"></a><span class="lineno">  781</span>&#160;<span class="preprocessor">      if (TEST::this_test)                                                                \</span></div>
<div class="line"><a name="l00782"></a><span class="lineno">  782</span>&#160;<span class="preprocessor">      {                                                                                   \</span></div>
<div class="line"><a name="l00783"></a><span class="lineno">  783</span>&#160;<span class="preprocessor">        std__cout &lt;&lt; &quot; +  line &quot;                                                          \</span></div>
<div class="line"><a name="l00784"></a><span class="lineno">  784</span>&#160;<span class="preprocessor">                  &lt;&lt; __LINE__                                                             \</span></div>
<div class="line"><a name="l00785"></a><span class="lineno">  785</span>&#160;<span class="preprocessor">                  &lt;&lt; &quot;: TEST_FILE_EQUAL(&quot;                                                 \</span></div>
<div class="line"><a name="l00786"></a><span class="lineno">  786</span>&#160;<span class="preprocessor">                  &lt;&lt; # filename                                                           \</span></div>
<div class="line"><a name="l00787"></a><span class="lineno">  787</span>&#160;<span class="preprocessor">                  &lt;&lt; &quot;, &quot;                                                                 \</span></div>
<div class="line"><a name="l00788"></a><span class="lineno">  788</span>&#160;<span class="preprocessor">                  &lt;&lt; # templatename                                                       \</span></div>
<div class="line"><a name="l00789"></a><span class="lineno">  789</span>&#160;<span class="preprocessor">                  &lt;&lt; &quot;): true&quot;;                                                           \</span></div>
<div class="line"><a name="l00790"></a><span class="lineno">  790</span>&#160;<span class="preprocessor">      }                                                                                   \</span></div>
<div class="line"><a name="l00791"></a><span class="lineno">  791</span>&#160;<span class="preprocessor">      else                                                                                \</span></div>
<div class="line"><a name="l00792"></a><span class="lineno">  792</span>&#160;<span class="preprocessor">      {                                                                                   \</span></div>
<div class="line"><a name="l00793"></a><span class="lineno">  793</span>&#160;<span class="preprocessor">        std__cout &lt;&lt; &quot; -  line &quot;                                                          \</span></div>
<div class="line"><a name="l00794"></a><span class="lineno">  794</span>&#160;<span class="preprocessor">                  &lt;&lt; __LINE__                                                             \</span></div>
<div class="line"><a name="l00795"></a><span class="lineno">  795</span>&#160;<span class="preprocessor">                  &lt;&lt; &quot;: TEST_FILE_EQUAL(&quot;                                                 \</span></div>
<div class="line"><a name="l00796"></a><span class="lineno">  796</span>&#160;<span class="preprocessor">                  &lt;&lt; # filename                                                           \</span></div>
<div class="line"><a name="l00797"></a><span class="lineno">  797</span>&#160;<span class="preprocessor">                  &lt;&lt; &quot;, &quot;                                                                 \</span></div>
<div class="line"><a name="l00798"></a><span class="lineno">  798</span>&#160;<span class="preprocessor">                  &lt;&lt; # templatename                                                       \</span></div>
<div class="line"><a name="l00799"></a><span class="lineno">  799</span>&#160;<span class="preprocessor">                  &lt;&lt; &quot;): false (different files: &quot;                                        \</span></div>
<div class="line"><a name="l00800"></a><span class="lineno">  800</span>&#160;<span class="preprocessor">                  &lt;&lt; filename                                                             \</span></div>
<div class="line"><a name="l00801"></a><span class="lineno">  801</span>&#160;<span class="preprocessor">                  &lt;&lt; &quot; &quot;                                                                  \</span></div>
<div class="line"><a name="l00802"></a><span class="lineno">  802</span>&#160;<span class="preprocessor">                  &lt;&lt; templatename                                                         \</span></div>
<div class="line"><a name="l00803"></a><span class="lineno">  803</span>&#160;<span class="preprocessor">                  &lt;&lt; &quot; )\n&quot;;                                                              \</span></div>
<div class="line"><a name="l00804"></a><span class="lineno">  804</span>&#160;<span class="preprocessor">        TEST::failed_lines_list.push_back(TEST::test_line);                               \</span></div>
<div class="line"><a name="l00805"></a><span class="lineno">  805</span>&#160;<span class="preprocessor">      }                                                                                   \</span></div>
<div class="line"><a name="l00806"></a><span class="lineno">  806</span>&#160;<span class="preprocessor">    }                                                                                     \</span></div>
<div class="line"><a name="l00807"></a><span class="lineno">  807</span>&#160;<span class="preprocessor">  }</span></div>
<div class="line"><a name="l00808"></a><span class="lineno">  808</span>&#160;<span class="preprocessor"></span></div>
<div class="line"><a name="l00824"></a><span class="lineno"><a class="line" href="group__ClassTest.html#gaa002aaeb2fa21d7052d360e0b0f08143">  824</a></span>&#160;<span class="preprocessor">#define TEST_REAL_SIMILAR(a, b) TEST::testRealSimilar(__FILE__, __LINE__, (a), (# a), TEST::isRealType(a), writtenDigits(a), (b), (# b), TEST::isRealType(b), writtenDigits(b));</span></div>
<div class="line"><a name="l00825"></a><span class="lineno">  825</span>&#160;<span class="preprocessor"></span></div>
<div class="line"><a name="l00841"></a><span class="lineno"><a class="line" href="group__ClassTest.html#ga62434c58988651dd7d8c0a2748c8cc1d">  841</a></span>&#160;<span class="preprocessor">#define TEST_STRING_SIMILAR(a, b) TEST::testStringSimilar(__FILE__, __LINE__, (a), (# a), (b), (# b));</span></div>
<div class="line"><a name="l00842"></a><span class="lineno">  842</span>&#160;<span class="preprocessor"></span></div>
<div class="line"><a name="l00857"></a><span class="lineno"><a class="line" href="group__ClassTest.html#ga652ba7d73c732871aa4e9600444c9145">  857</a></span>&#160;<span class="preprocessor">#define TEST_FILE_SIMILAR(a, b)                                                           \</span></div>
<div class="line"><a name="l00858"></a><span class="lineno">  858</span>&#160;<span class="preprocessor">  {                                                                                       \</span></div>
<div class="line"><a name="l00859"></a><span class="lineno">  859</span>&#160;<span class="preprocessor">    ++TEST::test_count;                                                                   \</span></div>
<div class="line"><a name="l00860"></a><span class="lineno">  860</span>&#160;<span class="preprocessor">    TEST::test_line = __LINE__;                                                           \</span></div>
<div class="line"><a name="l00861"></a><span class="lineno">  861</span>&#160;<span class="preprocessor">    TEST::this_test = TEST::isFileSimilar((a), (b));                                      \</span></div>
<div class="line"><a name="l00862"></a><span class="lineno">  862</span>&#160;<span class="preprocessor">    TEST::test = TEST::test &amp;&amp; TEST::this_test;                                           \</span></div>
<div class="line"><a name="l00863"></a><span class="lineno">  863</span>&#160;<span class="preprocessor">    {                                                                                     \</span></div>
<div class="line"><a name="l00864"></a><span class="lineno">  864</span>&#160;<span class="preprocessor">      TEST::initialNewline();                                                             \</span></div>
<div class="line"><a name="l00865"></a><span class="lineno">  865</span>&#160;<span class="preprocessor">      if (TEST::this_test)                                                                \</span></div>
<div class="line"><a name="l00866"></a><span class="lineno">  866</span>&#160;<span class="preprocessor">      {                                                                                   \</span></div>
<div class="line"><a name="l00867"></a><span class="lineno">  867</span>&#160;<span class="preprocessor">        std__cout &lt;&lt; &quot; +  line &quot; &lt;&lt; __LINE__                                              \</span></div>
<div class="line"><a name="l00868"></a><span class="lineno">  868</span>&#160;<span class="preprocessor">            &lt;&lt; &quot;:  TEST_FILE_SIMILAR(&quot; # a &quot;,&quot; # b &quot;):  absolute: &quot;                       \</span></div>
<div class="line"><a name="l00869"></a><span class="lineno">  869</span>&#160;<span class="preprocessor">            &lt;&lt; precisionWrapper(TEST::absdiff)                                            \</span></div>
<div class="line"><a name="l00870"></a><span class="lineno">  870</span>&#160;<span class="preprocessor">            &lt;&lt; &quot; (&quot;                                                                       \</span></div>
<div class="line"><a name="l00871"></a><span class="lineno">  871</span>&#160;<span class="preprocessor">            &lt;&lt; precisionWrapper(TEST::absdiff_max_allowed)                                \</span></div>
<div class="line"><a name="l00872"></a><span class="lineno">  872</span>&#160;<span class="preprocessor">            &lt;&lt; &quot;), relative: &quot;                                                            \</span></div>
<div class="line"><a name="l00873"></a><span class="lineno">  873</span>&#160;<span class="preprocessor">            &lt;&lt; precisionWrapper(TEST::ratio)                                              \</span></div>
<div class="line"><a name="l00874"></a><span class="lineno">  874</span>&#160;<span class="preprocessor">            &lt;&lt; &quot; (&quot;                                                                       \</span></div>
<div class="line"><a name="l00875"></a><span class="lineno">  875</span>&#160;<span class="preprocessor">            &lt;&lt; precisionWrapper(TEST::ratio_max_allowed)                                  \</span></div>
<div class="line"><a name="l00876"></a><span class="lineno">  876</span>&#160;<span class="preprocessor">            &lt;&lt; &quot;)&quot;                                                                        \</span></div>
<div class="line"><a name="l00877"></a><span class="lineno">  877</span>&#160;<span class="preprocessor">            &lt;&lt; std::endl;                                                                 \</span></div>
<div class="line"><a name="l00878"></a><span class="lineno">  878</span>&#160;<span class="preprocessor">        std__cout &lt;&lt; &quot;message: \n&quot;;                                                       \</span></div>
<div class="line"><a name="l00879"></a><span class="lineno">  879</span>&#160;<span class="preprocessor">        std__cout &lt;&lt; TEST::fuzzy_message;                                                 \</span></div>
<div class="line"><a name="l00880"></a><span class="lineno">  880</span>&#160;<span class="preprocessor">      }                                                                                   \</span></div>
<div class="line"><a name="l00881"></a><span class="lineno">  881</span>&#160;<span class="preprocessor">      else                                                                                \</span></div>
<div class="line"><a name="l00882"></a><span class="lineno">  882</span>&#160;<span class="preprocessor">      {                                                                                   \</span></div>
<div class="line"><a name="l00883"></a><span class="lineno">  883</span>&#160;<span class="preprocessor">        std__cout &lt;&lt; &quot; -  line &quot; &lt;&lt; TEST::test_line &lt;&lt;                                    \</span></div>
<div class="line"><a name="l00884"></a><span class="lineno">  884</span>&#160;<span class="preprocessor">        &quot;: TEST_FILE_SIMILAR(&quot; # a &quot;,&quot; # b &quot;) ...    -\n&quot;;                                \</span></div>
<div class="line"><a name="l00885"></a><span class="lineno">  885</span>&#160;<span class="preprocessor">        std__cout &lt;&lt; &quot;message: \n&quot;;                                                       \</span></div>
<div class="line"><a name="l00886"></a><span class="lineno">  886</span>&#160;<span class="preprocessor">        std__cout &lt;&lt; TEST::fuzzy_message;                                                 \</span></div>
<div class="line"><a name="l00887"></a><span class="lineno">  887</span>&#160;<span class="preprocessor">        TEST::failed_lines_list.push_back(TEST::test_line);                               \</span></div>
<div class="line"><a name="l00888"></a><span class="lineno">  888</span>&#160;<span class="preprocessor">      }                                                                                   \</span></div>
<div class="line"><a name="l00889"></a><span class="lineno">  889</span>&#160;<span class="preprocessor">    }                                                                                     \</span></div>
<div class="line"><a name="l00890"></a><span class="lineno">  890</span>&#160;<span class="preprocessor">  }</span></div>
<div class="line"><a name="l00891"></a><span class="lineno">  891</span>&#160;<span class="preprocessor"></span></div>
<div class="line"><a name="l00904"></a><span class="lineno"><a class="line" href="group__ClassTest.html#ga4607c27748ec063217e2776c1bc5eab5">  904</a></span>&#160;<span class="preprocessor">#define TOLERANCE_RELATIVE(a)                                                             \</span></div>
<div class="line"><a name="l00905"></a><span class="lineno">  905</span>&#160;<span class="preprocessor">  TEST::ratio_max_allowed = (a);                                                          \</span></div>
<div class="line"><a name="l00906"></a><span class="lineno">  906</span>&#160;<span class="preprocessor">  {                                                                                       \</span></div>
<div class="line"><a name="l00907"></a><span class="lineno">  907</span>&#160;<span class="preprocessor">    TEST::initialNewline();                                                               \</span></div>
<div class="line"><a name="l00908"></a><span class="lineno">  908</span>&#160;<span class="preprocessor">    std__cout &lt;&lt; &quot; +  line &quot; &lt;&lt; __LINE__ &lt;&lt;                                               \</span></div>
<div class="line"><a name="l00909"></a><span class="lineno">  909</span>&#160;<span class="preprocessor">    &quot;:  TOLERANCE_RELATIVE(&quot; &lt;&lt;     TEST::ratio_max_allowed &lt;&lt;                            \</span></div>
<div class="line"><a name="l00910"></a><span class="lineno">  910</span>&#160;<span class="preprocessor">    &quot;)   (\&quot;&quot; # a &quot;\&quot;)&quot; &lt;&lt; std::endl;                                                     \</span></div>
<div class="line"><a name="l00911"></a><span class="lineno">  911</span>&#160;<span class="preprocessor">  }</span></div>
<div class="line"><a name="l00912"></a><span class="lineno">  912</span>&#160;<span class="preprocessor"></span></div>
<div class="line"><a name="l00924"></a><span class="lineno"><a class="line" href="group__ClassTest.html#gac41693dce4ec4b2684e1752a7554a086">  924</a></span>&#160;<span class="preprocessor">#define TOLERANCE_ABSOLUTE(a)                                                             \</span></div>
<div class="line"><a name="l00925"></a><span class="lineno">  925</span>&#160;<span class="preprocessor">  TEST::absdiff_max_allowed = (a);                                                        \</span></div>
<div class="line"><a name="l00926"></a><span class="lineno">  926</span>&#160;<span class="preprocessor">  {                                                                                       \</span></div>
<div class="line"><a name="l00927"></a><span class="lineno">  927</span>&#160;<span class="preprocessor">    TEST::initialNewline();                                                               \</span></div>
<div class="line"><a name="l00928"></a><span class="lineno">  928</span>&#160;<span class="preprocessor">    std__cout &lt;&lt; &quot; +  line &quot; &lt;&lt; __LINE__ &lt;&lt;                                               \</span></div>
<div class="line"><a name="l00929"></a><span class="lineno">  929</span>&#160;<span class="preprocessor">    &quot;:  TOLERANCE_ABSOLUTE(&quot; &lt;&lt;     TEST::absdiff_max_allowed   &lt;&lt;                        \</span></div>
<div class="line"><a name="l00930"></a><span class="lineno">  930</span>&#160;<span class="preprocessor">    &quot;)   (\&quot;&quot; # a &quot;\&quot;)&quot; &lt;&lt; std::endl;                                                     \</span></div>
<div class="line"><a name="l00931"></a><span class="lineno">  931</span>&#160;<span class="preprocessor">  }</span></div>
<div class="line"><a name="l00932"></a><span class="lineno">  932</span>&#160;<span class="preprocessor"></span></div>
<div class="line"><a name="l00938"></a><span class="lineno"><a class="line" href="group__ClassTest.html#ga3fbb77a06b797e26963942aef2963873">  938</a></span>&#160;<span class="preprocessor">#define WHITELIST(a) TEST::setWhitelist(__FILE__, __LINE__, (a));</span></div>
<div class="line"><a name="l00939"></a><span class="lineno">  939</span>&#160;<span class="preprocessor"></span></div>
<div class="line"><a name="l00952"></a><span class="lineno"><a class="line" href="group__ClassTest.html#ga29e985393ac63f000023bf684f4d03fc">  952</a></span>&#160;<span class="preprocessor">#define TEST_EXCEPTION(exception_type, command)                                           \</span></div>
<div class="line"><a name="l00953"></a><span class="lineno">  953</span>&#160;<span class="preprocessor">  {                                                                                       \</span></div>
<div class="line"><a name="l00954"></a><span class="lineno">  954</span>&#160;<span class="preprocessor">    ++TEST::test_count;                                                                   \</span></div>
<div class="line"><a name="l00955"></a><span class="lineno">  955</span>&#160;<span class="preprocessor">    TEST::test_line = __LINE__;                                                           \</span></div>
<div class="line"><a name="l00956"></a><span class="lineno">  956</span>&#160;<span class="preprocessor">    TEST::exception = 0;                                                                  \</span></div>
<div class="line"><a name="l00957"></a><span class="lineno">  957</span>&#160;<span class="preprocessor">    try                                                                                   \</span></div>
<div class="line"><a name="l00958"></a><span class="lineno">  958</span>&#160;<span class="preprocessor">    {                                                                                     \</span></div>
<div class="line"><a name="l00959"></a><span class="lineno">  959</span>&#160;<span class="preprocessor">      command;                                                                            \</span></div>
<div class="line"><a name="l00960"></a><span class="lineno">  960</span>&#160;<span class="preprocessor">    }                                                                                     \</span></div>
<div class="line"><a name="l00961"></a><span class="lineno">  961</span>&#160;<span class="preprocessor">    catch (exception_type)                                                                \</span></div>
<div class="line"><a name="l00962"></a><span class="lineno">  962</span>&#160;<span class="preprocessor">    {                                                                                     \</span></div>
<div class="line"><a name="l00963"></a><span class="lineno">  963</span>&#160;<span class="preprocessor">      TEST::exception = 1;                                                                \</span></div>
<div class="line"><a name="l00964"></a><span class="lineno">  964</span>&#160;<span class="preprocessor">    }                                                                                     \</span></div>
<div class="line"><a name="l00965"></a><span class="lineno">  965</span>&#160;<span class="preprocessor">    catch (::OpenMS::Exception::BaseException e)                                          \</span></div>
<div class="line"><a name="l00966"></a><span class="lineno">  966</span>&#160;<span class="preprocessor">    {                                                                                     \</span></div>
<div class="line"><a name="l00967"></a><span class="lineno">  967</span>&#160;<span class="preprocessor">      TEST::exception = 2;                                                                \</span></div>
<div class="line"><a name="l00968"></a><span class="lineno">  968</span>&#160;<span class="preprocessor">      TEST::exception_name = e.getName();                                                 \</span></div>
<div class="line"><a name="l00969"></a><span class="lineno">  969</span>&#160;<span class="preprocessor">    }                                                                                     \</span></div>
<div class="line"><a name="l00970"></a><span class="lineno">  970</span>&#160;<span class="preprocessor">    catch (...)                                                                           \</span></div>
<div class="line"><a name="l00971"></a><span class="lineno">  971</span>&#160;<span class="preprocessor">    {                                                                                     \</span></div>
<div class="line"><a name="l00972"></a><span class="lineno">  972</span>&#160;<span class="preprocessor">      TEST::exception = 3;                                                                \</span></div>
<div class="line"><a name="l00973"></a><span class="lineno">  973</span>&#160;<span class="preprocessor">    }                                                                                     \</span></div>
<div class="line"><a name="l00974"></a><span class="lineno">  974</span>&#160;<span class="preprocessor">    TEST::this_test = (TEST::exception == 1);                                             \</span></div>
<div class="line"><a name="l00975"></a><span class="lineno">  975</span>&#160;<span class="preprocessor">    TEST::test = TEST::test &amp;&amp; TEST::this_test;                                           \</span></div>
<div class="line"><a name="l00976"></a><span class="lineno">  976</span>&#160;<span class="preprocessor">                                                                                          \</span></div>
<div class="line"><a name="l00977"></a><span class="lineno">  977</span>&#160;<span class="preprocessor">    {                                                                                     \</span></div>
<div class="line"><a name="l00978"></a><span class="lineno">  978</span>&#160;<span class="preprocessor">      TEST::initialNewline();                                                             \</span></div>
<div class="line"><a name="l00979"></a><span class="lineno">  979</span>&#160;<span class="preprocessor">      switch (TEST::exception)                                                            \</span></div>
<div class="line"><a name="l00980"></a><span class="lineno">  980</span>&#160;<span class="preprocessor">      {                                                                                   \</span></div>
<div class="line"><a name="l00981"></a><span class="lineno">  981</span>&#160;<span class="preprocessor">      case 0:                                                                             \</span></div>
<div class="line"><a name="l00982"></a><span class="lineno">  982</span>&#160;<span class="preprocessor">        std__cout &lt;&lt; &quot; -  line &quot; &lt;&lt; TEST::test_line &lt;&lt;                                    \</span></div>
<div class="line"><a name="l00983"></a><span class="lineno">  983</span>&#160;<span class="preprocessor">        &quot;:  TEST_EXCEPTION(&quot; # exception_type &quot;,&quot; # command                               \</span></div>
<div class="line"><a name="l00984"></a><span class="lineno">  984</span>&#160;<span class="preprocessor">        &quot;): no exception thrown!&quot; &lt;&lt; std::endl;                                           \</span></div>
<div class="line"><a name="l00985"></a><span class="lineno">  985</span>&#160;<span class="preprocessor">        TEST::failed_lines_list.push_back(TEST::test_line);                               \</span></div>
<div class="line"><a name="l00986"></a><span class="lineno">  986</span>&#160;<span class="preprocessor">        break;                                                                            \</span></div>
<div class="line"><a name="l00987"></a><span class="lineno">  987</span>&#160;<span class="preprocessor">      case 1:                                                                             \</span></div>
<div class="line"><a name="l00988"></a><span class="lineno">  988</span>&#160;<span class="preprocessor">        std__cout &lt;&lt; &quot; +  line &quot; &lt;&lt; TEST::test_line &lt;&lt;                                    \</span></div>
<div class="line"><a name="l00989"></a><span class="lineno">  989</span>&#160;<span class="preprocessor">        &quot;:  TEST_EXCEPTION(&quot; # exception_type &quot;,&quot; # command                               \</span></div>
<div class="line"><a name="l00990"></a><span class="lineno">  990</span>&#160;<span class="preprocessor">        &quot;): OK&quot; &lt;&lt; std::endl;                                                             \</span></div>
<div class="line"><a name="l00991"></a><span class="lineno">  991</span>&#160;<span class="preprocessor">        break;                                                                            \</span></div>
<div class="line"><a name="l00992"></a><span class="lineno">  992</span>&#160;<span class="preprocessor">      case 2:                                                                             \</span></div>
<div class="line"><a name="l00993"></a><span class="lineno">  993</span>&#160;<span class="preprocessor">        std__cout &lt;&lt; &quot; -  line &quot; &lt;&lt; TEST::test_line &lt;&lt;                                    \</span></div>
<div class="line"><a name="l00994"></a><span class="lineno">  994</span>&#160;<span class="preprocessor">        &quot;:  TEST_EXCEPTION(&quot; # exception_type &quot;,&quot; # command                               \</span></div>
<div class="line"><a name="l00995"></a><span class="lineno">  995</span>&#160;<span class="preprocessor">        &quot;): wrong exception thrown!  \&quot;&quot;                                                  \</span></div>
<div class="line"><a name="l00996"></a><span class="lineno">  996</span>&#160;<span class="preprocessor">        &lt;&lt; TEST::exception_name &lt;&lt; &quot;\&quot;&quot; &lt;&lt; std::endl;                                     \</span></div>
<div class="line"><a name="l00997"></a><span class="lineno">  997</span>&#160;<span class="preprocessor">        TEST::failed_lines_list.push_back(TEST::test_line);                               \</span></div>
<div class="line"><a name="l00998"></a><span class="lineno">  998</span>&#160;<span class="preprocessor">        break;                                                                            \</span></div>
<div class="line"><a name="l00999"></a><span class="lineno">  999</span>&#160;<span class="preprocessor">      case 3:                                                                             \</span></div>
<div class="line"><a name="l01000"></a><span class="lineno"> 1000</span>&#160;<span class="preprocessor">        std__cout &lt;&lt; &quot; -  line &quot; &lt;&lt; TEST::test_line &lt;&lt;                                    \</span></div>
<div class="line"><a name="l01001"></a><span class="lineno"> 1001</span>&#160;<span class="preprocessor">        &quot;:  TEST_EXCEPTION(&quot; # exception_type &quot;,&quot; # command                               \</span></div>
<div class="line"><a name="l01002"></a><span class="lineno"> 1002</span>&#160;<span class="preprocessor">        &quot;): wrong exception thrown!&quot; &lt;&lt; std::endl;                                        \</span></div>
<div class="line"><a name="l01003"></a><span class="lineno"> 1003</span>&#160;<span class="preprocessor">        TEST::failed_lines_list.push_back(TEST::test_line);                               \</span></div>
<div class="line"><a name="l01004"></a><span class="lineno"> 1004</span>&#160;<span class="preprocessor">        break;                                                                            \</span></div>
<div class="line"><a name="l01005"></a><span class="lineno"> 1005</span>&#160;<span class="preprocessor">      }                                                                                   \</span></div>
<div class="line"><a name="l01006"></a><span class="lineno"> 1006</span>&#160;<span class="preprocessor">    }                                                                                     \</span></div>
<div class="line"><a name="l01007"></a><span class="lineno"> 1007</span>&#160;<span class="preprocessor">  }</span></div>
<div class="line"><a name="l01008"></a><span class="lineno"> 1008</span>&#160;<span class="preprocessor"></span></div>
<div class="line"><a name="l01020"></a><span class="lineno"> 1020</span>&#160;<span class="preprocessor">#ifdef OPENMS_ASSERTIONS</span></div>
<div class="line"><a name="l01021"></a><span class="lineno"> 1021</span>&#160;<span class="preprocessor"></span><span class="preprocessor">#define TEST_PRECONDITION_VIOLATED(command) TEST_EXCEPTION(Exception::Precondition, command);</span></div>
<div class="line"><a name="l01022"></a><span class="lineno"> 1022</span>&#160;<span class="preprocessor"></span><span class="preprocessor">#else</span></div>
<div class="line"><a name="l01023"></a><span class="lineno"><a class="line" href="group__ClassTest.html#gaadea10e77dfb399d7a6fccf0187fbfa5"> 1023</a></span>&#160;<span class="preprocessor"></span><span class="preprocessor">#define TEST_PRECONDITION_VIOLATED(command) STATUS(&quot;TEST_PRECONDITION_VIOLATED(&quot; # command &quot;)  -  skipped&quot;);</span></div>
<div class="line"><a name="l01024"></a><span class="lineno"> 1024</span>&#160;<span class="preprocessor"></span><span class="preprocessor">#endif</span></div>
<div class="line"><a name="l01025"></a><span class="lineno"> 1025</span>&#160;<span class="preprocessor"></span></div>
<div class="line"><a name="l01037"></a><span class="lineno"> 1037</span>&#160;<span class="preprocessor">#ifdef OPENMS_ASSERTIONS</span></div>
<div class="line"><a name="l01038"></a><span class="lineno"> 1038</span>&#160;<span class="preprocessor"></span><span class="preprocessor">#define TEST_POSTCONDITION_VIOLATED(command) TEST_EXCEPTION(Exception::Postcondition, command);</span></div>
<div class="line"><a name="l01039"></a><span class="lineno"> 1039</span>&#160;<span class="preprocessor"></span><span class="preprocessor">#else</span></div>
<div class="line"><a name="l01040"></a><span class="lineno"><a class="line" href="group__ClassTest.html#gad0a44ba34a78dbd28498b42c6183e742"> 1040</a></span>&#160;<span class="preprocessor"></span><span class="preprocessor">#define TEST_POSTCONDITION_VIOLATED(command) STATUS(&quot;TEST_POSTCONDITION_VIOLATED(&quot; # command &quot;)  -  skipped&quot;);</span></div>
<div class="line"><a name="l01041"></a><span class="lineno"> 1041</span>&#160;<span class="preprocessor"></span><span class="preprocessor">#endif</span></div>
<div class="line"><a name="l01042"></a><span class="lineno"> 1042</span>&#160;<span class="preprocessor"></span></div>
<div class="line"><a name="l01043"></a><span class="lineno"> 1043</span>&#160;</div>
<div class="line"><a name="l01060"></a><span class="lineno"><a class="line" href="group__ClassTest.html#ga17a048abf673566b5b034f7d3c70bfd4"> 1060</a></span>&#160;<span class="preprocessor">#define TEST_EXCEPTION_WITH_MESSAGE(exception_type, command, message)                     \</span></div>
<div class="line"><a name="l01061"></a><span class="lineno"> 1061</span>&#160;<span class="preprocessor">  {                                                                                       \</span></div>
<div class="line"><a name="l01062"></a><span class="lineno"> 1062</span>&#160;<span class="preprocessor">    ++TEST::test_count;                                                                   \</span></div>
<div class="line"><a name="l01063"></a><span class="lineno"> 1063</span>&#160;<span class="preprocessor">    TEST::test_line = __LINE__;                                                           \</span></div>
<div class="line"><a name="l01064"></a><span class="lineno"> 1064</span>&#160;<span class="preprocessor">    TEST::exception = 0;                                                                  \</span></div>
<div class="line"><a name="l01065"></a><span class="lineno"> 1065</span>&#160;<span class="preprocessor">    try                                                                                   \</span></div>
<div class="line"><a name="l01066"></a><span class="lineno"> 1066</span>&#160;<span class="preprocessor">    {                                                                                     \</span></div>
<div class="line"><a name="l01067"></a><span class="lineno"> 1067</span>&#160;<span class="preprocessor">      command;                                                                            \</span></div>
<div class="line"><a name="l01068"></a><span class="lineno"> 1068</span>&#160;<span class="preprocessor">    }                                                                                     \</span></div>
<div class="line"><a name="l01069"></a><span class="lineno"> 1069</span>&#160;<span class="preprocessor">    catch (exception_type et)                                                             \</span></div>
<div class="line"><a name="l01070"></a><span class="lineno"> 1070</span>&#160;<span class="preprocessor">    {                                                                                     \</span></div>
<div class="line"><a name="l01071"></a><span class="lineno"> 1071</span>&#160;<span class="preprocessor">      if (std::string(et.getMessage()) != std::string(message))                           \</span></div>
<div class="line"><a name="l01072"></a><span class="lineno"> 1072</span>&#160;<span class="preprocessor">      {                                                                                   \</span></div>
<div class="line"><a name="l01073"></a><span class="lineno"> 1073</span>&#160;<span class="preprocessor">        TEST::exception = 4;                                                              \</span></div>
<div class="line"><a name="l01074"></a><span class="lineno"> 1074</span>&#160;<span class="preprocessor">        TEST::exception_message = et.getMessage();                                        \</span></div>
<div class="line"><a name="l01075"></a><span class="lineno"> 1075</span>&#160;<span class="preprocessor">      }                                                                                   \</span></div>
<div class="line"><a name="l01076"></a><span class="lineno"> 1076</span>&#160;<span class="preprocessor">      else TEST::exception = 1;                                                           \</span></div>
<div class="line"><a name="l01077"></a><span class="lineno"> 1077</span>&#160;<span class="preprocessor">    }                                                                                     \</span></div>
<div class="line"><a name="l01078"></a><span class="lineno"> 1078</span>&#160;<span class="preprocessor">    catch (::OpenMS::Exception::BaseException e)                                          \</span></div>
<div class="line"><a name="l01079"></a><span class="lineno"> 1079</span>&#160;<span class="preprocessor">    {                                                                                     \</span></div>
<div class="line"><a name="l01080"></a><span class="lineno"> 1080</span>&#160;<span class="preprocessor">      TEST::exception = 2;                                                                \</span></div>
<div class="line"><a name="l01081"></a><span class="lineno"> 1081</span>&#160;<span class="preprocessor">      TEST::exception_name = e.getName();                                                 \</span></div>
<div class="line"><a name="l01082"></a><span class="lineno"> 1082</span>&#160;<span class="preprocessor">    }                                                                                     \</span></div>
<div class="line"><a name="l01083"></a><span class="lineno"> 1083</span>&#160;<span class="preprocessor">    catch (...)                                                                           \</span></div>
<div class="line"><a name="l01084"></a><span class="lineno"> 1084</span>&#160;<span class="preprocessor">    {                                                                                     \</span></div>
<div class="line"><a name="l01085"></a><span class="lineno"> 1085</span>&#160;<span class="preprocessor">      TEST::exception = 3;                                                                \</span></div>
<div class="line"><a name="l01086"></a><span class="lineno"> 1086</span>&#160;<span class="preprocessor">    }                                                                                     \</span></div>
<div class="line"><a name="l01087"></a><span class="lineno"> 1087</span>&#160;<span class="preprocessor">    TEST::this_test = (TEST::exception == 1);                                             \</span></div>
<div class="line"><a name="l01088"></a><span class="lineno"> 1088</span>&#160;<span class="preprocessor">    TEST::test = TEST::test &amp;&amp; TEST::this_test;                                           \</span></div>
<div class="line"><a name="l01089"></a><span class="lineno"> 1089</span>&#160;<span class="preprocessor">                                                                                          \</span></div>
<div class="line"><a name="l01090"></a><span class="lineno"> 1090</span>&#160;<span class="preprocessor">    {                                                                                     \</span></div>
<div class="line"><a name="l01091"></a><span class="lineno"> 1091</span>&#160;<span class="preprocessor">      TEST::initialNewline();                                                             \</span></div>
<div class="line"><a name="l01092"></a><span class="lineno"> 1092</span>&#160;<span class="preprocessor">      switch (TEST::exception)                                                            \</span></div>
<div class="line"><a name="l01093"></a><span class="lineno"> 1093</span>&#160;<span class="preprocessor">      {                                                                                   \</span></div>
<div class="line"><a name="l01094"></a><span class="lineno"> 1094</span>&#160;<span class="preprocessor">      case 0:                                                                             \</span></div>
<div class="line"><a name="l01095"></a><span class="lineno"> 1095</span>&#160;<span class="preprocessor">        std__cout &lt;&lt; &quot; -  line &quot; &lt;&lt; TEST::test_line &lt;&lt;                                    \</span></div>
<div class="line"><a name="l01096"></a><span class="lineno"> 1096</span>&#160;<span class="preprocessor">        &quot;:  TEST_EXCEPTION_WITH_MESSAGE(&quot; # exception_type &quot;,&quot; # command &quot;, &quot; # message   \</span></div>
<div class="line"><a name="l01097"></a><span class="lineno"> 1097</span>&#160;<span class="preprocessor">        &quot;): no exception thrown!&quot; &lt;&lt; std::endl;                                           \</span></div>
<div class="line"><a name="l01098"></a><span class="lineno"> 1098</span>&#160;<span class="preprocessor">        TEST::failed_lines_list.push_back(TEST::test_line);                               \</span></div>
<div class="line"><a name="l01099"></a><span class="lineno"> 1099</span>&#160;<span class="preprocessor">        break;                                                                            \</span></div>
<div class="line"><a name="l01100"></a><span class="lineno"> 1100</span>&#160;<span class="preprocessor">      case 1:                                                                             \</span></div>
<div class="line"><a name="l01101"></a><span class="lineno"> 1101</span>&#160;<span class="preprocessor">        </span><span class="comment">/* this is actually what we want to get:  */</span><span class="preprocessor">                                      \</span></div>
<div class="line"><a name="l01102"></a><span class="lineno"> 1102</span>&#160;<span class="preprocessor">        std__cout &lt;&lt; &quot; +  line &quot; &lt;&lt; TEST::test_line &lt;&lt;                                    \</span></div>
<div class="line"><a name="l01103"></a><span class="lineno"> 1103</span>&#160;<span class="preprocessor">        &quot;:  TEST_EXCEPTION_WITH_MESSAGE(&quot; # exception_type &quot;,&quot; # command &quot;, &quot; # message   \</span></div>
<div class="line"><a name="l01104"></a><span class="lineno"> 1104</span>&#160;<span class="preprocessor">        &quot;): OK&quot; &lt;&lt; std::endl;                                                             \</span></div>
<div class="line"><a name="l01105"></a><span class="lineno"> 1105</span>&#160;<span class="preprocessor">        break;                                                                            \</span></div>
<div class="line"><a name="l01106"></a><span class="lineno"> 1106</span>&#160;<span class="preprocessor">      case 2:                                                                             \</span></div>
<div class="line"><a name="l01107"></a><span class="lineno"> 1107</span>&#160;<span class="preprocessor">        std__cout &lt;&lt; &quot; -  line &quot; &lt;&lt; TEST::test_line &lt;&lt;                                    \</span></div>
<div class="line"><a name="l01108"></a><span class="lineno"> 1108</span>&#160;<span class="preprocessor">        &quot;:  TEST_EXCEPTION_WITH_MESSAGE(&quot; # exception_type &quot;,&quot; # command &quot;, &quot; # message   \</span></div>
<div class="line"><a name="l01109"></a><span class="lineno"> 1109</span>&#160;<span class="preprocessor">        &quot;): wrong exception thrown!  \&quot;&quot; &lt;&lt;                                               \</span></div>
<div class="line"><a name="l01110"></a><span class="lineno"> 1110</span>&#160;<span class="preprocessor">        TEST::exception_name &lt;&lt; &quot;\&quot;&quot; &lt;&lt; std::endl;                                        \</span></div>
<div class="line"><a name="l01111"></a><span class="lineno"> 1111</span>&#160;<span class="preprocessor">        TEST::failed_lines_list.push_back(TEST::test_line);                               \</span></div>
<div class="line"><a name="l01112"></a><span class="lineno"> 1112</span>&#160;<span class="preprocessor">        break;                                                                            \</span></div>
<div class="line"><a name="l01113"></a><span class="lineno"> 1113</span>&#160;<span class="preprocessor">      case 3:                                                                             \</span></div>
<div class="line"><a name="l01114"></a><span class="lineno"> 1114</span>&#160;<span class="preprocessor">        std__cout &lt;&lt; &quot; -  line &quot; &lt;&lt; TEST::test_line &lt;&lt;                                    \</span></div>
<div class="line"><a name="l01115"></a><span class="lineno"> 1115</span>&#160;<span class="preprocessor">        &quot;:  TEST_EXCEPTION_WITH_MESSAGE(&quot; # exception_type &quot;,&quot; # command &quot;, &quot; # message   \</span></div>
<div class="line"><a name="l01116"></a><span class="lineno"> 1116</span>&#160;<span class="preprocessor">        &quot;): wrong exception thrown!&quot; &lt;&lt; std::endl;                                        \</span></div>
<div class="line"><a name="l01117"></a><span class="lineno"> 1117</span>&#160;<span class="preprocessor">        TEST::failed_lines_list.push_back(TEST::test_line);                               \</span></div>
<div class="line"><a name="l01118"></a><span class="lineno"> 1118</span>&#160;<span class="preprocessor">        break;                                                                            \</span></div>
<div class="line"><a name="l01119"></a><span class="lineno"> 1119</span>&#160;<span class="preprocessor">      case 4:                                                                             \</span></div>
<div class="line"><a name="l01120"></a><span class="lineno"> 1120</span>&#160;<span class="preprocessor">        std__cout &lt;&lt; &quot; -  line &quot; &lt;&lt; TEST::test_line &lt;&lt;                                    \</span></div>
<div class="line"><a name="l01121"></a><span class="lineno"> 1121</span>&#160;<span class="preprocessor">        &quot;:  TEST_EXCEPTION_WITH_MESSAGE(&quot; # exception_type &quot;,&quot; # command &quot;, &quot; # message   \</span></div>
<div class="line"><a name="l01122"></a><span class="lineno"> 1122</span>&#160;<span class="preprocessor">        &quot;): exception has wrong message: got &#39;&quot; &lt;&lt;                                        \</span></div>
<div class="line"><a name="l01123"></a><span class="lineno"> 1123</span>&#160;<span class="preprocessor">        TEST::exception_message &lt;&lt;                                                        \</span></div>
<div class="line"><a name="l01124"></a><span class="lineno"> 1124</span>&#160;<span class="preprocessor">        &quot;&#39;, expected &#39;&quot; &lt;&lt;                                                                \</span></div>
<div class="line"><a name="l01125"></a><span class="lineno"> 1125</span>&#160;<span class="preprocessor">        (message) &lt;&lt;                                                                      \</span></div>
<div class="line"><a name="l01126"></a><span class="lineno"> 1126</span>&#160;<span class="preprocessor">        &quot;&#39;&quot; &lt;&lt; std::endl;                                                                 \</span></div>
<div class="line"><a name="l01127"></a><span class="lineno"> 1127</span>&#160;<span class="preprocessor">        TEST::failed_lines_list.push_back(TEST::test_line);                               \</span></div>
<div class="line"><a name="l01128"></a><span class="lineno"> 1128</span>&#160;<span class="preprocessor">        break;                                                                            \</span></div>
<div class="line"><a name="l01129"></a><span class="lineno"> 1129</span>&#160;<span class="preprocessor">      }                                                                                   \</span></div>
<div class="line"><a name="l01130"></a><span class="lineno"> 1130</span>&#160;<span class="preprocessor">    }                                                                                     \</span></div>
<div class="line"><a name="l01131"></a><span class="lineno"> 1131</span>&#160;<span class="preprocessor">  }</span></div>
<div class="line"><a name="l01132"></a><span class="lineno"> 1132</span>&#160;<span class="preprocessor"></span></div>
<div class="line"><a name="l01148"></a><span class="lineno"><a class="line" href="group__ClassTest.html#gadf364cea1469a3b7ebfde9e01332265f"> 1148</a></span>&#160;<span class="preprocessor">#define NEW_TMP_FILE(filename)                                                            \</span></div>
<div class="line"><a name="l01149"></a><span class="lineno"> 1149</span>&#160;<span class="preprocessor">  {                                                                                       \</span></div>
<div class="line"><a name="l01150"></a><span class="lineno"> 1150</span>&#160;<span class="preprocessor">    filename = TEST::tmpFileName(__FILE__, __LINE__);                                     \</span></div>
<div class="line"><a name="l01151"></a><span class="lineno"> 1151</span>&#160;<span class="preprocessor">    TEST::tmp_file_list.push_back(filename);                                              \</span></div>
<div class="line"><a name="l01152"></a><span class="lineno"> 1152</span>&#160;<span class="preprocessor">    {                                                                                     \</span></div>
<div class="line"><a name="l01153"></a><span class="lineno"> 1153</span>&#160;<span class="preprocessor">      TEST::initialNewline();                                                             \</span></div>
<div class="line"><a name="l01154"></a><span class="lineno"> 1154</span>&#160;<span class="preprocessor">      std__cout &lt;&lt; &quot;    creating new temporary filename &#39;&quot;                                \</span></div>
<div class="line"><a name="l01155"></a><span class="lineno"> 1155</span>&#160;<span class="preprocessor">                &lt;&lt; filename                                                               \</span></div>
<div class="line"><a name="l01156"></a><span class="lineno"> 1156</span>&#160;<span class="preprocessor">                &lt;&lt; &quot;&#39; (line &quot;                                                             \</span></div>
<div class="line"><a name="l01157"></a><span class="lineno"> 1157</span>&#160;<span class="preprocessor">                &lt;&lt; __LINE__                                                               \</span></div>
<div class="line"><a name="l01158"></a><span class="lineno"> 1158</span>&#160;<span class="preprocessor">                &lt;&lt; &quot;)&quot;                                                                    \</span></div>
<div class="line"><a name="l01159"></a><span class="lineno"> 1159</span>&#160;<span class="preprocessor">                &lt;&lt; std::endl;                                                             \</span></div>
<div class="line"><a name="l01160"></a><span class="lineno"> 1160</span>&#160;<span class="preprocessor">    }                                                                                     \</span></div>
<div class="line"><a name="l01161"></a><span class="lineno"> 1161</span>&#160;<span class="preprocessor">  }</span></div>
<div class="line"><a name="l01162"></a><span class="lineno"> 1162</span>&#160;<span class="preprocessor"></span></div>
<div class="line"><a name="l01170"></a><span class="lineno"><a class="line" href="group__ClassTest.html#ga6dfb51fad5e70a1e970bc965094704e0"> 1170</a></span>&#160;<span class="preprocessor">#define ABORT_IF(condition)                                                               \</span></div>
<div class="line"><a name="l01171"></a><span class="lineno"> 1171</span>&#160;<span class="preprocessor">  if (condition)                                                                          \</span></div>
<div class="line"><a name="l01172"></a><span class="lineno"> 1172</span>&#160;<span class="preprocessor">  {                                                                                       \</span></div>
<div class="line"><a name="l01173"></a><span class="lineno"> 1173</span>&#160;<span class="preprocessor">    {                                                                                     \</span></div>
<div class="line"><a name="l01174"></a><span class="lineno"> 1174</span>&#160;<span class="preprocessor">      TEST::initialNewline();                                                             \</span></div>
<div class="line"><a name="l01175"></a><span class="lineno"> 1175</span>&#160;<span class="preprocessor">      std__cout &lt;&lt; &quot; -  line &quot; &lt;&lt;  __LINE__ &lt;&lt;                                            \</span></div>
<div class="line"><a name="l01176"></a><span class="lineno"> 1176</span>&#160;<span class="preprocessor">      &quot;:  ABORT_IF(&quot; # condition &quot;):  TEST ABORTED&quot; &lt;&lt;                                    \</span></div>
<div class="line"><a name="l01177"></a><span class="lineno"> 1177</span>&#160;<span class="preprocessor">      std::endl;                                                                          \</span></div>
<div class="line"><a name="l01178"></a><span class="lineno"> 1178</span>&#160;<span class="preprocessor">      TEST::failed_lines_list.push_back(TEST::test_line);                                 \</span></div>
<div class="line"><a name="l01179"></a><span class="lineno"> 1179</span>&#160;<span class="preprocessor">    }                                                                                     \</span></div>
<div class="line"><a name="l01180"></a><span class="lineno"> 1180</span>&#160;<span class="preprocessor">    break;                                                                                \</span></div>
<div class="line"><a name="l01181"></a><span class="lineno"> 1181</span>&#160;<span class="preprocessor">  }</span></div>
<div class="line"><a name="l01182"></a><span class="lineno"> 1182</span>&#160;<span class="preprocessor"></span></div>
<div class="line"><a name="l01200"></a><span class="lineno"><a class="line" href="group__ClassTest.html#ga2491d6c44db439274567cea0a3e6f712"> 1200</a></span>&#160;<span class="preprocessor">#define STATUS(message)                                                                   \</span></div>
<div class="line"><a name="l01201"></a><span class="lineno"> 1201</span>&#160;<span class="preprocessor">  {                                                                                       \</span></div>
<div class="line"><a name="l01202"></a><span class="lineno"> 1202</span>&#160;<span class="preprocessor">    TEST::initialNewline();                                                               \</span></div>
<div class="line"><a name="l01203"></a><span class="lineno"> 1203</span>&#160;<span class="preprocessor">    std__cout &lt;&lt; &quot;    line &quot;                                                              \</span></div>
<div class="line"><a name="l01204"></a><span class="lineno"> 1204</span>&#160;<span class="preprocessor">              &lt;&lt;  __LINE__                                                                \</span></div>
<div class="line"><a name="l01205"></a><span class="lineno"> 1205</span>&#160;<span class="preprocessor">              &lt;&lt; &quot;: status:  &quot;                                                            \</span></div>
<div class="line"><a name="l01206"></a><span class="lineno"> 1206</span>&#160;<span class="preprocessor">              &lt;&lt; message                                                                  \</span></div>
<div class="line"><a name="l01207"></a><span class="lineno"> 1207</span>&#160;<span class="preprocessor">              &lt;&lt; std::endl;                                                               \</span></div>
<div class="line"><a name="l01208"></a><span class="lineno"> 1208</span>&#160;<span class="preprocessor">  }</span></div>
<div class="line"><a name="l01209"></a><span class="lineno"> 1209</span>&#160;<span class="preprocessor"></span></div>
<div class="line"><a name="l01219"></a><span class="lineno"><a class="line" href="group__ClassTest.html#gae4d6e52127b072e8d5dc67dbc19e0ab6"> 1219</a></span>&#160;<span class="preprocessor">#define ADD_MESSAGE(message)                                                              \</span></div>
<div class="line"><a name="l01220"></a><span class="lineno"> 1220</span>&#160;<span class="preprocessor">  TEST::add_message = message;</span></div>
<div class="line"><a name="l01221"></a><span class="lineno"> 1221</span>&#160;<span class="preprocessor"></span></div>
<div class="line"><a name="l01231"></a><span class="lineno"><a class="line" href="group__ClassTest.html#gae80a73c5db3c0c337f5ff90746ff2506"> 1231</a></span>&#160;<span class="preprocessor">#define NOT_TESTABLE                                                                      \</span></div>
<div class="line"><a name="l01232"></a><span class="lineno"> 1232</span>&#160;<span class="preprocessor">  TEST::test_count = 1;</span></div>
<div class="line"><a name="l01233"></a><span class="lineno"> 1233</span>&#160;<span class="preprocessor"></span></div>
<div class="line"><a name="l01235"></a><span class="lineno"> 1235</span>&#160;</div>
<div class="line"><a name="l01236"></a><span class="lineno"> 1236</span>&#160;<span class="preprocessor">#endif //OPENMS_CONCEPT_CLASSTEST_H</span></div>
<div class="ttc" id="namespaceOpenMS_1_1Internal_1_1ClassTest_html_a6b1c17a3f2b7a2268705f279e77b5081"><div class="ttname"><a href="namespaceOpenMS_1_1Internal_1_1ClassTest.html#a6b1c17a3f2b7a2268705f279e77b5081">OpenMS::Internal::ClassTest::absdiff_max_allowed</a></div><div class="ttdeci">double absdiff_max_allowed</div><div class="ttdoc">Maximum absolute difference of numbers allowed, see TOLERANCE_ABSOLUTE. </div></div>
<div class="ttc" id="namespaceOpenMS_1_1Internal_1_1ClassTest_html_a125a07facfdab18ee2d8495d4f8c9d5b"><div class="ttname"><a href="namespaceOpenMS_1_1Internal_1_1ClassTest.html#a125a07facfdab18ee2d8495d4f8c9d5b">OpenMS::Internal::ClassTest::test_count</a></div><div class="ttdeci">int test_count</div><div class="ttdoc">Counter for the number of elementary tests within the current subsection. </div></div>
<div class="ttc" id="namespaceOpenMS_1_1Internal_1_1ClassTest_html_a18858190b9b8c0fbcb131df4707ca102"><div class="ttname"><a href="namespaceOpenMS_1_1Internal_1_1ClassTest.html#a18858190b9b8c0fbcb131df4707ca102">OpenMS::Internal::ClassTest::testStringSimilar</a></div><div class="ttdeci">void testStringSimilar(const char *file, int line, const std::string &amp;string_1, const char *string_1_stringified, const std::string &amp;string_2, const char *string_2_stringified)</div><div class="ttdoc">Compare strings using absdiff_max_allowed and ratio_max_allowed. </div></div>
<div class="ttc" id="Types_8h_html"><div class="ttname"><a href="Types_8h.html">Types.h</a></div></div>
<div class="ttc" id="namespaceOpenMS_1_1Internal_1_1ClassTest_html_ad000cdea2f3551e3e9239678d12222b6"><div class="ttname"><a href="namespaceOpenMS_1_1Internal_1_1ClassTest.html#ad000cdea2f3551e3e9239678d12222b6">OpenMS::Internal::ClassTest::templatefile</a></div><div class="ttdeci">std::ifstream templatefile</div><div class="ttdoc">Template (correct) file used by TEST_FILE_EQUAL. </div></div>
<div class="ttc" id="namespaceOpenMS_1_1Internal_1_1ClassTest_html_a902ba0039b2a2f1098dd6b18240dbdaa"><div class="ttname"><a href="namespaceOpenMS_1_1Internal_1_1ClassTest.html#a902ba0039b2a2f1098dd6b18240dbdaa">OpenMS::Internal::ClassTest::exception_name</a></div><div class="ttdeci">std::string exception_name</div><div class="ttdoc">(Used by various macros. Stores the &amp;quot;name&amp;quot; of the exception, if applicable.) </div></div>
<div class="ttc" id="namespaceOpenMS_1_1Internal_1_1ClassTest_html_a735c3bbfac47c013c1fa97d3756e5f6e"><div class="ttname"><a href="namespaceOpenMS_1_1Internal_1_1ClassTest.html#a735c3bbfac47c013c1fa97d3756e5f6e">OpenMS::Internal::ClassTest::line_num_2_max</a></div><div class="ttdeci">int line_num_2_max</div></div>
<div class="ttc" id="namespaceOpenMS_1_1Internal_1_1ClassTest_html_a47f6607b5e2d043380438fe493ccc50f"><div class="ttname"><a href="namespaceOpenMS_1_1Internal_1_1ClassTest.html#a47f6607b5e2d043380438fe493ccc50f">OpenMS::Internal::ClassTest::setWhitelist</a></div><div class="ttdeci">void setWhitelist(const char *const , const int line, const std::string &amp;whitelist)</div><div class="ttdoc">set the whitelist_ </div></div>
<div class="ttc" id="namespaceOpenMS_1_1Internal_1_1ClassTest_html_a5e1a07804adbb8144b32aa8415d229a5"><div class="ttname"><a href="namespaceOpenMS_1_1Internal_1_1ClassTest.html#a5e1a07804adbb8144b32aa8415d229a5">OpenMS::Internal::ClassTest::newline</a></div><div class="ttdeci">bool newline</div><div class="ttdoc">(Flags whether a new line is in place, depending on context and verbosity setting. Used by initialNewline() and some macros.) </div></div>
<div class="ttc" id="namespaceOpenMS_1_1Internal_1_1ClassTest_html_ac985e90f80475d2bd3294554e1a362ed"><div class="ttname"><a href="namespaceOpenMS_1_1Internal_1_1ClassTest.html#ac985e90f80475d2bd3294554e1a362ed">OpenMS::Internal::ClassTest::this_test</a></div><div class="ttdeci">bool this_test</div><div class="ttdoc">Status of last elementary test. </div></div>
<div class="ttc" id="namespaceOpenMS_1_1Internal_1_1ClassTest_html_a835c194d7465ac0e608fc154c9e9ef80"><div class="ttname"><a href="namespaceOpenMS_1_1Internal_1_1ClassTest.html#a835c194d7465ac0e608fc154c9e9ef80">OpenMS::Internal::ClassTest::infile</a></div><div class="ttdeci">std::ifstream infile</div><div class="ttdoc">Questionable file tested by TEST_FILE_EQUAL. </div></div>
<div class="ttc" id="namespaceOpenMS_1_1Internal_1_1ClassTest_html_ae8b75d3c879acb2095c4e048b7a3d99a"><div class="ttname"><a href="namespaceOpenMS_1_1Internal_1_1ClassTest.html#ae8b75d3c879acb2095c4e048b7a3d99a">OpenMS::Internal::ClassTest::start_section_line</a></div><div class="ttdeci">int start_section_line</div><div class="ttdoc">Line where current subsection started. </div></div>
<div class="ttc" id="namespaceOpenMS_1_1Internal_1_1ClassTest_html_ab4418188d517aeb11f2e694243dc883f"><div class="ttname"><a href="namespaceOpenMS_1_1Internal_1_1ClassTest.html#ab4418188d517aeb11f2e694243dc883f">OpenMS::Internal::ClassTest::tmp_file_list</a></div><div class="ttdeci">std::vector&lt; std::string &gt; tmp_file_list</div><div class="ttdoc">List of tmp file names (these will be cleaned up, see NEW_TMP_FILE) </div></div>
<div class="ttc" id="namespaceOpenMS_1_1Internal_1_1ClassTest_html_a338ace7511e4edfb48f2752b97f9d0d1"><div class="ttname"><a href="namespaceOpenMS_1_1Internal_1_1ClassTest.html#a338ace7511e4edfb48f2752b97f9d0d1">OpenMS::Internal::ClassTest::add_message</a></div><div class="ttdeci">std::string add_message</div><div class="ttdoc">See ADD_MESSAGE. </div></div>
<div class="ttc" id="namespaceOpenMS_1_1Internal_1_1ClassTest_html_a0467ed32dcd4ad305526c4e151cd1e96"><div class="ttname"><a href="namespaceOpenMS_1_1Internal_1_1ClassTest.html#a0467ed32dcd4ad305526c4e151cd1e96">OpenMS::Internal::ClassTest::ratio_max</a></div><div class="ttdeci">double ratio_max</div><div class="ttdoc">Maximum ratio of numbers observed so far, see TOLERANCE_RELATIVE. </div></div>
<div class="ttc" id="namespaceOpenMS_1_1Internal_1_1ClassTest_html_a220f69713100269c0e59d1f1fbb3dba5"><div class="ttname"><a href="namespaceOpenMS_1_1Internal_1_1ClassTest.html#a220f69713100269c0e59d1f1fbb3dba5">OpenMS::Internal::ClassTest::testEqual</a></div><div class="ttdeci">void testEqual(const char *, int line, const T1 &amp;expression_1, const char *expression_1_stringified, const T2 &amp;expression_2, const char *expression_2_stringified)</div><div class="ttdef"><b>Definition:</b> ClassTest.h:275</div></div>
<div class="ttc" id="namespaceOpenMS_1_1Internal_1_1ClassTest_html_a6382d9c08ef267adca633e975e8f8f29"><div class="ttname"><a href="namespaceOpenMS_1_1Internal_1_1ClassTest.html#a6382d9c08ef267adca633e975e8f8f29">OpenMS::Internal::ClassTest::tmpFileName</a></div><div class="ttdeci">std::string tmpFileName(const std::string &amp;file, int line)</div><div class="ttdoc">Creates a temporary file name from the test name and the line. </div></div>
<div class="ttc" id="namespaceOpenMS_1_1Internal_1_1ClassTest_html_a325a605b3ed0efb2c88eca4d1bdcf8e1"><div class="ttname"><a href="namespaceOpenMS_1_1Internal_1_1ClassTest.html#a325a605b3ed0efb2c88eca4d1bdcf8e1">OpenMS::Internal::ClassTest::line_buffer</a></div><div class="ttdeci">char line_buffer[65536]</div><div class="ttdoc">(A buffer for one line from a file. Used by TEST_FILE_EQUAL.) </div></div>
<div class="ttc" id="UniqueIdGenerator_8h_html"><div class="ttname"><a href="UniqueIdGenerator_8h.html">UniqueIdGenerator.h</a></div></div>
<div class="ttc" id="namespaceOpenMS_1_1Internal_1_1ClassTest_html_ae140af1ddf33f9f026bff28a6f103f9e"><div class="ttname"><a href="namespaceOpenMS_1_1Internal_1_1ClassTest.html#ae140af1ddf33f9f026bff28a6f103f9e">OpenMS::Internal::ClassTest::isRealType</a></div><div class="ttdeci">bool isRealType(float)</div><div class="ttdoc">This overload returns true; float is a floating point type. </div><div class="ttdef"><b>Definition:</b> ClassTest.h:92</div></div>
<div class="ttc" id="classOpenMS_1_1DataValue_html"><div class="ttname"><a href="classOpenMS_1_1DataValue.html">OpenMS::DataValue</a></div><div class="ttdoc">Class to hold strings, numeric values, lists of strings and lists of numeric values. </div><div class="ttdef"><b>Definition:</b> DataValue.h:57</div></div>
<div class="ttc" id="File_8h_html"><div class="ttname"><a href="File_8h.html">File.h</a></div></div>
<div class="ttc" id="namespaceOpenMS_1_1Internal_1_1ClassTest_html_a8095107180b88bd5e4c1e79b28d51ef5"><div class="ttname"><a href="namespaceOpenMS_1_1Internal_1_1ClassTest.html#a8095107180b88bd5e4c1e79b28d51ef5">OpenMS::Internal::ClassTest::line_num_1_max</a></div><div class="ttdeci">int line_num_1_max</div></div>
<div class="ttc" id="namespaceOpenMS_1_1Internal_1_1ClassTest_html_a4d4d155352109ac4332f7b6824ef06b3"><div class="ttname"><a href="namespaceOpenMS_1_1Internal_1_1ClassTest.html#a4d4d155352109ac4332f7b6824ef06b3">OpenMS::Internal::ClassTest::exception_message</a></div><div class="ttdeci">std::string exception_message</div><div class="ttdoc">(Used by various macros. Stores the &amp;quot;message&amp;quot; of the exception, if applicable.) </div></div>
<div class="ttc" id="ClassTest_8h_html_aa2a98d9e6fcf172ec0e1572f5fdff3f1"><div class="ttname"><a href="ClassTest_8h.html#aa2a98d9e6fcf172ec0e1572f5fdff3f1">std__cout</a></div><div class="ttdeci">#define std__cout</div><div class="ttdoc">Provide a point of redirection for testing the test macros, see ClassTest_test.C. ...</div><div class="ttdef"><b>Definition:</b> ClassTest.h:68</div></div>
<div class="ttc" id="namespaceOpenMS_1_1Internal_1_1ClassTest_html_ae345dc3f63fb3f587846e6ec3f0ae361"><div class="ttname"><a href="namespaceOpenMS_1_1Internal_1_1ClassTest.html#ae345dc3f63fb3f587846e6ec3f0ae361">OpenMS::Internal::ClassTest::equal_files</a></div><div class="ttdeci">bool equal_files</div><div class="ttdoc">(A variable used by TEST_FILE_EQUAL) </div></div>
<div class="ttc" id="namespaceOpenMS_1_1Internal_1_1ClassTest_html_ac1391c547aa7b57c3999b085091ea643"><div class="ttname"><a href="namespaceOpenMS_1_1Internal_1_1ClassTest.html#ac1391c547aa7b57c3999b085091ea643">OpenMS::Internal::ClassTest::testNotEqual</a></div><div class="ttdeci">void testNotEqual(const char *, int line, const T1 &amp;expression_1, const char *expression_1_stringified, const T2 &amp;expression_2, const char *expression_2_stringified)</div><div class="ttdef"><b>Definition:</b> ClassTest.h:306</div></div>
<div class="ttc" id="namespaceOpenMS_1_1Internal_1_1ClassTest_html_af2c3955d4b9891e3b6cf657a5d97e8bf"><div class="ttname"><a href="namespaceOpenMS_1_1Internal_1_1ClassTest.html#af2c3955d4b9891e3b6cf657a5d97e8bf">OpenMS::Internal::ClassTest::exception</a></div><div class="ttdeci">int exception</div><div class="ttdoc">(Used by various macros. Indicates a rough category of the exception being caught.) </div></div>
<div class="ttc" id="namespaceOpenMS_1_1Internal_1_1ClassTest_html_aa422b0077d0c570937a73aa5b8eb4440"><div class="ttname"><a href="namespaceOpenMS_1_1Internal_1_1ClassTest.html#aa422b0077d0c570937a73aa5b8eb4440">OpenMS::Internal::ClassTest::ratio</a></div><div class="ttdeci">double ratio</div><div class="ttdoc">Recent ratio of numbers, see TOLERANCE_RELATIVE. </div></div>
<div class="ttc" id="namespaceOpenMS_1_1Internal_1_1ClassTest_html_a8042d0ef3deb220500d4c3a0c1382f07"><div class="ttname"><a href="namespaceOpenMS_1_1Internal_1_1ClassTest.html#a8042d0ef3deb220500d4c3a0c1382f07">OpenMS::Internal::ClassTest::version_string</a></div><div class="ttdeci">const char * version_string</div><div class="ttdoc">Version string supplied with START_TEST. </div></div>
<div class="ttc" id="namespaceOpenMS_1_1Internal_1_1ClassTest_html_a4cce03fe4969f500a5467bf85717583b"><div class="ttname"><a href="namespaceOpenMS_1_1Internal_1_1ClassTest.html#a4cce03fe4969f500a5467bf85717583b">OpenMS::Internal::ClassTest::all_tests</a></div><div class="ttdeci">bool all_tests</div><div class="ttdoc">Status of the whole test. </div></div>
<div class="ttc" id="namespaceOpenMS_1_1Internal_1_1ClassTest_html_a2a8e1139cc64e0f562d63b290c9091fc"><div class="ttname"><a href="namespaceOpenMS_1_1Internal_1_1ClassTest.html#a2a8e1139cc64e0f562d63b290c9091fc">OpenMS::Internal::ClassTest::test_line</a></div><div class="ttdeci">int test_line</div><div class="ttdoc">Line of current elementary test. </div></div>
<div class="ttc" id="namespaceOpenMS_1_1Internal_1_1ClassTest_html_a2aee83099abc41e19604afdd27ac6746"><div class="ttname"><a href="namespaceOpenMS_1_1Internal_1_1ClassTest.html#a2aee83099abc41e19604afdd27ac6746">OpenMS::Internal::ClassTest::testRealSimilar</a></div><div class="ttdeci">void testRealSimilar(const char *file, int line, long double number_1, const char *number_1_stringified, bool number_1_is_realtype, Int number_1_written_digits, long double number_2, const char *number_2_stringified, bool, Int number_2_written_digits)</div><div class="ttdoc">Compare floating point numbers using absdiff_max_allowed and ratio_max_allowed. </div></div>
<div class="ttc" id="namespaceOpenMS_1_1Internal_1_1ClassTest_html_a187feb90d7677a3f0a136c45ee388286"><div class="ttname"><a href="namespaceOpenMS_1_1Internal_1_1ClassTest.html#a187feb90d7677a3f0a136c45ee388286">OpenMS::Internal::ClassTest::initialNewline</a></div><div class="ttdeci">void initialNewline()</div><div class="ttdoc">make sure we have a newline before results from first subtest </div></div>
<div class="ttc" id="namespaceOpenMS_1_1Internal_1_1ClassTest_html_a4d9f5825bc03011a856a1aa3470ea6f4"><div class="ttname"><a href="namespaceOpenMS_1_1Internal_1_1ClassTest.html#a4d9f5825bc03011a856a1aa3470ea6f4">OpenMS::Internal::ClassTest::test_name</a></div><div class="ttdeci">std::string test_name</div><div class="ttdoc">Name of current subsection. </div></div>
<div class="ttc" id="namespaceOpenMS_1_1Internal_1_1ClassTest_html_a902f36771acecbac5082e981bf8510a7"><div class="ttname"><a href="namespaceOpenMS_1_1Internal_1_1ClassTest.html#a902f36771acecbac5082e981bf8510a7">OpenMS::Internal::ClassTest::failed_lines_list</a></div><div class="ttdeci">std::vector&lt; UInt &gt; failed_lines_list</div><div class="ttdoc">List of all failed lines for summary at the end of the test. </div></div>
<div class="ttc" id="namespaceOpenMS_1_1Internal_1_1ClassTest_html_afb7414c1ab4e2e8090104f1c33c7407d"><div class="ttname"><a href="namespaceOpenMS_1_1Internal_1_1ClassTest.html#afb7414c1ab4e2e8090104f1c33c7407d">OpenMS::Internal::ClassTest::isRealSimilar</a></div><div class="ttdeci">bool isRealSimilar(long double number_1, long double number_2)</div><div class="ttdoc">used by testRealSimilar() </div></div>
<div class="ttc" id="namespaceOpenMS_1_1Internal_1_1ClassTest_html_a2e69b82afc0e5949f75a5b139a5f26d6"><div class="ttname"><a href="namespaceOpenMS_1_1Internal_1_1ClassTest.html#a2e69b82afc0e5949f75a5b139a5f26d6">OpenMS::Internal::ClassTest::absdiff</a></div><div class="ttdeci">double absdiff</div><div class="ttdoc">Recent absolute difference of numbers, see TOLERANCE_ABSOLUTE. </div></div>
<div class="ttc" id="namespaceOpenMS_1_1Internal_1_1ClassTest_html_abfb75eae735c15f17a95c69b9587bd98"><div class="ttname"><a href="namespaceOpenMS_1_1Internal_1_1ClassTest.html#abfb75eae735c15f17a95c69b9587bd98">OpenMS::Internal::ClassTest::isFileSimilar</a></div><div class="ttdeci">bool isFileSimilar(const std::string &amp;filename_1, const std::string &amp;filename_2)</div><div class="ttdoc">Compare files using absdiff_max_allowed and ratio_max_allowed. </div></div>
<div class="ttc" id="namespaceOpenMS_1_1Internal_1_1ClassTest_html_a69f942d7289d5ed2ffe3a00b12235d04"><div class="ttname"><a href="namespaceOpenMS_1_1Internal_1_1ClassTest.html#a69f942d7289d5ed2ffe3a00b12235d04">OpenMS::Internal::ClassTest::test</a></div><div class="ttdeci">bool test</div><div class="ttdoc">Status of the current subsection. </div></div>
<div class="ttc" id="group__Concept_html_ga7cc214a236ad3bb6ad435bdcf5262a3f"><div class="ttname"><a href="group__Concept.html#ga7cc214a236ad3bb6ad435bdcf5262a3f">OpenMS::Int</a></div><div class="ttdeci">int Int</div><div class="ttdoc">Signed integer type. </div><div class="ttdef"><b>Definition:</b> Types.h:100</div></div>
<div class="ttc" id="Exception_8h_html"><div class="ttname"><a href="Exception_8h.html">Exception.h</a></div></div>
<div class="ttc" id="namespaceOpenMS_1_1Internal_1_1ClassTest_html_a5b5f16011dd349eaf0bfbd5f005ec3fe"><div class="ttname"><a href="namespaceOpenMS_1_1Internal_1_1ClassTest.html#a5b5f16011dd349eaf0bfbd5f005ec3fe">OpenMS::Internal::ClassTest::absdiff_max</a></div><div class="ttdeci">double absdiff_max</div><div class="ttdoc">Maximum difference of numbers observed so far, see TOLERANCE_ABSOLUTE. </div></div>
<div class="ttc" id="namespaceOpenMS_1_1Internal_1_1ClassTest_html_a3c6b858e43d6f3f6dab174e1ae3a99bf"><div class="ttname"><a href="namespaceOpenMS_1_1Internal_1_1ClassTest.html#a3c6b858e43d6f3f6dab174e1ae3a99bf">OpenMS::Internal::ClassTest::validate</a></div><div class="ttdeci">bool validate(const std::vector&lt; std::string &gt; &amp;file_names)</div><div class="ttdoc">Validates the given files against the XML schema (if available) </div></div>
<div class="ttc" id="namespaceOpenMS_1_1Internal_1_1ClassTest_html_a0b2caeb4b6f130be43e5a2f0267dd453"><div class="ttname"><a href="namespaceOpenMS_1_1Internal_1_1ClassTest.html#a0b2caeb4b6f130be43e5a2f0267dd453">OpenMS::Internal::ClassTest::verbose</a></div><div class="ttdeci">int verbose</div><div class="ttdoc">Verbosity level ( &amp;quot;-v&amp;quot; is 1 and &amp;quot;-V&amp;quot; is 2 ) </div></div>
<div class="ttc" id="namespaceOpenMS_1_1Internal_1_1ClassTest_html_a5b02f3b108a4779f7ecc2c7ec0c6d276"><div class="ttname"><a href="namespaceOpenMS_1_1Internal_1_1ClassTest.html#a5b02f3b108a4779f7ecc2c7ec0c6d276">OpenMS::Internal::ClassTest::testStringEqual</a></div><div class="ttdeci">void testStringEqual(const char *file, int line, const std::string &amp;string_1, const char *string_1_stringified, const std::string &amp;string_2, const char *string_2_stringified)</div><div class="ttdoc">used by TEST_STRING_EQUAL </div></div>
<div class="ttc" id="namespaceOpenMS_1_1Internal_1_1ClassTest_html_a5d4fbb2536e6ed42168d1e592ce5ffdf"><div class="ttname"><a href="namespaceOpenMS_1_1Internal_1_1ClassTest.html#a5d4fbb2536e6ed42168d1e592ce5ffdf">OpenMS::Internal::ClassTest::printWithPrefix</a></div><div class="ttdeci">void printWithPrefix(const std::string &amp;text, const int marked=-1)</div><div class="ttdoc">print the text, each line gets a prefix, the marked line number gets a special prefix ...</div></div>
<div class="ttc" id="namespaceOpenMS_1_1Internal_1_1ClassTest_html_a47541e8f1bf1e7ac302e65242e0b0ae8"><div class="ttname"><a href="namespaceOpenMS_1_1Internal_1_1ClassTest.html#a47541e8f1bf1e7ac302e65242e0b0ae8">OpenMS::Internal::ClassTest::fuzzy_message</a></div><div class="ttdeci">std::string fuzzy_message</div><div class="ttdoc">Last message from a fuzzy comparison. Written by isRealSimilar(), testStringSimilar(), isFileSimilar(). Read by TEST_REAL_SIMILAR, TEST_STRING_SIMILAR, TEST_FILE_SIMILAR;. </div></div>
<div class="ttc" id="namespaceOpenMS_1_1Internal_1_1ClassTest_html_ad9d4447147c780d6f32cb565c2099964"><div class="ttname"><a href="namespaceOpenMS_1_1Internal_1_1ClassTest.html#ad9d4447147c780d6f32cb565c2099964">OpenMS::Internal::ClassTest::ratio_max_allowed</a></div><div class="ttdeci">double ratio_max_allowed</div><div class="ttdoc">Maximum ratio of numbers allowed, see TOLERANCE_RELATIVE. </div></div>
</div><!-- fragment --></div><!-- contents -->
<HR style="height:1px; border:none; border-top:1px solid #c0c0c0;">
<TABLE width="100%" border="0">
<TR>
<TD><font color="#c0c0c0">OpenMS / TOPP release 1.11.1</font></TD>
<TD align="right"><font color="#c0c0c0">Documentation generated on Thu Nov 14 2013 11:19:12 using doxygen 1.8.5</font></TD>
</TR>
</TABLE>
</BODY>
</HTML>