OpenMS
|
Namespace for class tests. More...
Functions | |
bool | validate (const std::vector< std::string > &file_names) |
Validates the given files against the XML schema (if available) More... | |
std::string | createTmpFileName (const std::string &file, int line, const std::string &extension="") |
Creates a temporary file name from the test name and the line with the specified extension. More... | |
bool | isRealType (float) |
This overload returns true; float is a floating point type. More... | |
bool | isRealType (double) |
This overload returns true; double is a floating point type. More... | |
bool | isRealType (long double) |
This overload returns true; long double is a floating point type. More... | |
bool | isRealType (const ParamValue &) |
This overload returns true; ParamValue will be converted to double by TEST_REAL_SIMILAR. More... | |
bool | isRealType (const DataValue &) |
This overload returns true; DataValue will be converted to double by TEST_REAL_SIMILAR. More... | |
template<typename T > | |
bool | isRealType (const T &) |
This catch-all template returns false; it will be instantiated for non-floating point types. More... | |
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) |
Compare floating point numbers using absdiff_max_allowed and ratio_max_allowed. More... | |
bool | isRealSimilar (long double number_1, long double number_2) |
used by testRealSimilar() More... | |
void | testStringSimilar (const char *file, int line, const std::string &string_1, const char *string_1_stringified, const std::string &string_2, const char *string_2_stringified) |
Compare strings using absdiff_max_allowed and ratio_max_allowed. More... | |
void | testStringEqual (const char *file, int line, const std::string &string_1, const char *string_1_stringified, const std::string &string_2, const char *string_2_stringified) |
used by TEST_STRING_EQUAL More... | |
bool | isFileSimilar (const std::string &filename_1, const std::string &filename_2) |
Compare files using absdiff_max_allowed and ratio_max_allowed. More... | |
void | initialNewline () |
make sure we have a newline before results from first subtest More... | |
void | printWithPrefix (const std::string &text, const int marked=-1) |
print the text, each line gets a prefix, the marked line number gets a special prefix More... | |
void | mainInit (const char *version, const char *class_name, int argc, const char *argv0) |
Set up some classtest variables as obtained from the 'START_TEST' macro and check that no additional arguments were passed to the test executable. More... | |
void | filesEqual (int line, const char *filename, const char *templatename, const char *filename_stringified, const char *templatename_stringified) |
Test if two files are exactly equal (used in TEST_FILE_EQUAL macro) More... | |
void | removeTempFiles () |
removed all temporary files created with the NEW_TMP_FILE macro More... | |
void | setWhitelist (const char *const, const int line, const std::string &whitelist) |
set the whitelist_ More... | |
template<typename T1 , typename T2 > | |
void | testEqual (const char *, int line, const T1 &expression_1, const char *expression_1_stringified, const T2 &expression_2, const char *expression_2_stringified) |
void | testTrue (const char *, int line, const bool expression_1, const char *expression_1_stringified) |
void | testFalse (const char *, int line, const bool expression_1, const char *expression_1_stringified) |
template<typename T1 , typename T2 > | |
void | testNotEqual (const char *, int line, const T1 &expression_1, const char *expression_1_stringified, const T2 &expression_2, const char *expression_2_stringified) |
void | printLastException (std::ostream &out) |
int | endTestPostProcess (std::ostream &out) |
void | endSectionPostProcess (std::ostream &out, const int line) |
Variables | |
double | ratio_max_allowed |
Maximum ratio of numbers allowed, see TOLERANCE_RELATIVE. More... | |
double | ratio_max |
Maximum ratio of numbers observed so far, see TOLERANCE_RELATIVE. More... | |
double | ratio |
Recent ratio of numbers, see TOLERANCE_RELATIVE. More... | |
double | absdiff_max_allowed |
Maximum absolute difference of numbers allowed, see TOLERANCE_ABSOLUTE. More... | |
double | absdiff_max |
Maximum difference of numbers observed so far, see TOLERANCE_ABSOLUTE. More... | |
double | absdiff |
Recent absolute difference of numbers, see TOLERANCE_ABSOLUTE. More... | |
int | line_num_1_max |
int | line_num_2_max |
int | verbose |
Verbosity level ( "-v" is 1 and "-V" is 2 ) More... | |
bool | all_tests |
Status of the whole test. More... | |
bool | test |
Status of the current subsection. More... | |
bool | this_test |
Status of last elementary test. More... | |
int | exception |
(Used by various macros. Indicates a rough category of the exception being caught.) More... | |
std::string | exception_name |
(Used by various macros. Stores the "name" of the exception, if applicable.) More... | |
std::string | exception_message |
(Used by various macros. Stores the "message" of the exception, if applicable.) More... | |
std::string | test_name |
Name of current subsection. More... | |
int | start_section_line |
Line where current subsection started. More... | |
int | test_line |
Line of current elementary test. More... | |
const char * | version_string |
Version string supplied with START_TEST. More... | |
std::vector< std::string > | tmp_file_list |
List of tmp file names (these will be cleaned up, see NEW_TMP_FILE) More... | |
std::vector< UInt > | failed_lines_list |
List of all failed lines for summary at the end of the test. More... | |
std::ifstream | infile |
Questionable file tested by TEST_FILE_EQUAL. More... | |
std::ifstream | templatefile |
Template (correct) file used by TEST_FILE_EQUAL. More... | |
bool | equal_files |
(A variable used by TEST_FILE_EQUAL) More... | |
char | line_buffer [65536] |
(A buffer for one line from a file. Used by TEST_FILE_EQUAL.) More... | |
int | test_count |
Counter for the number of elementary tests within the current subsection. More... | |
std::string | add_message |
See ADD_MESSAGE. More... | |
std::string | fuzzy_message |
Last message from a fuzzy comparison. Written by isRealSimilar(), testStringSimilar(), isFileSimilar(). Read by TEST_REAL_SIMILAR, TEST_STRING_SIMILAR, TEST_FILE_SIMILAR;. More... | |
bool | newline |
(Flags whether a new line is in place, depending on context and verbosity setting. Used by initialNewline() and some macros.) More... | |
Namespace for class tests.
std::string OpenMS::Internal::ClassTest::createTmpFileName | ( | const std::string & | file, |
int | line, | ||
const std::string & | extension = "" |
||
) |
Creates a temporary file name from the test name and the line with the specified extension.
void OpenMS::Internal::ClassTest::endSectionPostProcess | ( | std::ostream & | out, |
const int | line | ||
) |
int OpenMS::Internal::ClassTest::endTestPostProcess | ( | std::ostream & | out | ) |
void OpenMS::Internal::ClassTest::filesEqual | ( | int | line, |
const char * | filename, | ||
const char * | templatename, | ||
const char * | filename_stringified, | ||
const char * | templatename_stringified | ||
) |
Test if two files are exactly equal (used in TEST_FILE_EQUAL macro)
line | The line where the macro was called (for reporting) |
filename | The temp file |
templatename | The ground truth file |
filename_stringified | The expression used as the first macro argument |
templatename_stringified | The expression used as the second macro argument |
void OpenMS::Internal::ClassTest::initialNewline | ( | ) |
make sure we have a newline before results from first subtest
Referenced by testEqual(), testFalse(), testNotEqual(), and testTrue().
bool isFileSimilar | ( | const std::string & | filename_1, |
const std::string & | filename_2 | ||
) |
Compare files using absdiff_max_allowed and ratio_max_allowed.
Side effects: Updates absdiff, ratio, fuzzy_message, line_num_1_max and line_num_2_max.
bool OpenMS::Internal::ClassTest::isRealSimilar | ( | long double | number_1, |
long double | number_2 | ||
) |
used by testRealSimilar()
|
inline |
This overload returns true; DataValue
will be converted to double by TEST_REAL_SIMILAR.
|
inline |
This overload returns true; ParamValue
will be converted to double by TEST_REAL_SIMILAR.
|
inline |
This catch-all template returns false; it will be instantiated for non-floating point types.
|
inline |
This overload returns true; double
is a floating point type.
|
inline |
This overload returns true; float
is a floating point type.
|
inline |
This overload returns true; long
double
is a floating point type.
void OpenMS::Internal::ClassTest::mainInit | ( | const char * | version, |
const char * | class_name, | ||
int | argc, | ||
const char * | argv0 | ||
) |
Set up some classtest variables as obtained from the 'START_TEST' macro and check that no additional arguments were passed to the test executable.
version | A version string, obtained from 'START_TEST(FuzzyStringComparator, "<VERSION>")' |
class_name | The class under test (used for error messages etc), obtained from 'START_TEST(FuzzyStringComparator, "<VERSION>")' |
argc | The number of arguments to the main() function of the class test (must be 1; test will quit otherwise) |
argv0 | Name of the executable (for debug output) |
void OpenMS::Internal::ClassTest::printLastException | ( | std::ostream & | out | ) |
void OpenMS::Internal::ClassTest::printWithPrefix | ( | const std::string & | text, |
const int | marked = -1 |
||
) |
print the text, each line gets a prefix, the marked line number gets a special prefix
void OpenMS::Internal::ClassTest::removeTempFiles | ( | ) |
removed all temporary files created with the NEW_TMP_FILE macro
void OpenMS::Internal::ClassTest::setWhitelist | ( | const char * const | , |
const int | line, | ||
const std::string & | whitelist | ||
) |
set the whitelist_
void OpenMS::Internal::ClassTest::testEqual | ( | const char * | , |
int | line, | ||
const T1 & | expression_1, | ||
const char * | expression_1_stringified, | ||
const T2 & | expression_2, | ||
const char * | expression_2_stringified | ||
) |
References failed_lines_list, initialNewline(), stdcout, test, test_count, test_line, this_test, and verbose.
void OpenMS::Internal::ClassTest::testFalse | ( | const char * | , |
int | line, | ||
const bool | expression_1, | ||
const char * | expression_1_stringified | ||
) |
References failed_lines_list, initialNewline(), stdcout, test, test_count, test_line, this_test, and verbose.
void OpenMS::Internal::ClassTest::testNotEqual | ( | const char * | , |
int | line, | ||
const T1 & | expression_1, | ||
const char * | expression_1_stringified, | ||
const T2 & | expression_2, | ||
const char * | expression_2_stringified | ||
) |
References failed_lines_list, initialNewline(), stdcout, test, test_count, test_line, this_test, and verbose.
void OpenMS::Internal::ClassTest::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 | ||
) |
Compare floating point numbers using absdiff_max_allowed and ratio_max_allowed.
Side effects: Updates fuzzy_message.
void OpenMS::Internal::ClassTest::testStringEqual | ( | const char * | file, |
int | line, | ||
const std::string & | string_1, | ||
const char * | string_1_stringified, | ||
const std::string & | string_2, | ||
const char * | string_2_stringified | ||
) |
used by TEST_STRING_EQUAL
void testStringSimilar | ( | const char * | file, |
int | line, | ||
const std::string & | string_1, | ||
const char * | string_1_stringified, | ||
const std::string & | string_2, | ||
const char * | string_2_stringified | ||
) |
Compare strings using absdiff_max_allowed and ratio_max_allowed.
This is called by the TEST_STRING_SIMILAR macro.
Side effects: Updates absdiff, ratio, fuzzy_message, line_num_1_max and line_num_2_max.
void OpenMS::Internal::ClassTest::testTrue | ( | const char * | , |
int | line, | ||
const bool | expression_1, | ||
const char * | expression_1_stringified | ||
) |
References failed_lines_list, initialNewline(), stdcout, test, test_count, test_line, this_test, and verbose.
bool OpenMS::Internal::ClassTest::validate | ( | const std::vector< std::string > & | file_names | ) |
Validates the given files against the XML schema (if available)
|
extern |
Recent absolute difference of numbers, see TOLERANCE_ABSOLUTE.
|
extern |
Maximum difference of numbers observed so far, see TOLERANCE_ABSOLUTE.
|
extern |
Maximum absolute difference of numbers allowed, see TOLERANCE_ABSOLUTE.
|
extern |
See ADD_MESSAGE.
|
extern |
Status of the whole test.
|
extern |
(A variable used by TEST_FILE_EQUAL)
|
extern |
(Used by various macros. Indicates a rough category of the exception being caught.)
|
extern |
(Used by various macros. Stores the "message" of the exception, if applicable.)
|
extern |
(Used by various macros. Stores the "name" of the exception, if applicable.)
|
extern |
List of all failed lines for summary at the end of the test.
Referenced by testEqual(), testFalse(), testNotEqual(), and testTrue().
|
extern |
Last message from a fuzzy comparison. Written by isRealSimilar(), testStringSimilar(), isFileSimilar(). Read by TEST_REAL_SIMILAR, TEST_STRING_SIMILAR, TEST_FILE_SIMILAR;.
|
extern |
Questionable file tested by TEST_FILE_EQUAL.
|
extern |
(A buffer for one line from a file. Used by TEST_FILE_EQUAL.)
|
extern |
|
extern |
|
extern |
(Flags whether a new line is in place, depending on context and verbosity setting. Used by initialNewline() and some macros.)
|
extern |
Recent ratio of numbers, see TOLERANCE_RELATIVE.
|
extern |
Maximum ratio of numbers observed so far, see TOLERANCE_RELATIVE.
|
extern |
Maximum ratio of numbers allowed, see TOLERANCE_RELATIVE.
|
extern |
Line where current subsection started.
|
extern |
Template (correct) file used by TEST_FILE_EQUAL.
|
extern |
Status of the current subsection.
Referenced by testEqual(), testFalse(), testNotEqual(), and testTrue().
|
extern |
Counter for the number of elementary tests within the current subsection.
Referenced by testEqual(), testFalse(), testNotEqual(), and testTrue().
|
extern |
Line of current elementary test.
Referenced by testEqual(), testFalse(), testNotEqual(), and testTrue().
|
extern |
Name of current subsection.
|
extern |
Status of last elementary test.
Referenced by testEqual(), testFalse(), testNotEqual(), and testTrue().
|
extern |
List of tmp file names (these will be cleaned up, see NEW_TMP_FILE)
|
extern |
Verbosity level ( "-v" is 1 and "-V" is 2 )
Referenced by testEqual(), testFalse(), testNotEqual(), and testTrue().
|
extern |
Version string supplied with START_TEST.