Home  · Classes  · Annotated Classes  · Modules  · Members  · Namespaces  · Related Pages
Namespaces | Macros | Functions | Variables
ClassTest.h File Reference
#include <OpenMS/CONCEPT/PrecisionWrapper.h>
#include <OpenMS/CONCEPT/Types.h>
#include <OpenMS/CONCEPT/UniqueIdGenerator.h>
#include <OpenMS/DATASTRUCTURES/DataValue.h>
#include <OpenMS/DATASTRUCTURES/DateTime.h>
#include <OpenMS/SYSTEM/File.h>
#include <OpenMS/OpenMSConfig.h>
#include <OpenMS/config.h>
#include <cmath>
#include <cstdio>
#include <cstdlib>
#include <cstring>
#include <fstream>
#include <iostream>
#include <list>
#include <string>
#include <vector>

Go to the source code of this file.

Namespaces

 OpenMS
 Main OpenMS namespace.
 
 OpenMS::Internal
 Namespace used to hide implementation details from users.
 
 OpenMS::Internal::ClassTest
 Namespace for class tests.
 

Macros

#define std__cout   std::cout
 Provide a point of redirection for testing the test macros, see ClassTest_test.cpp. More...
 
#define START_TEST(class_name, version)
 Begin of the test program for a given class. More...
 
#define END_TEST
 End of the test program for a class. More...
 
#define START_SECTION(name_of_test)
 Begin of a subtest with a given name. More...
 
#define END_SECTION
 End of a subtest. More...
 
#define TEST_EQUAL(a, b)
 Generic equality macro. More...
 
#define TEST_NOT_EQUAL(a, b)
 Generic inequality macro. More...
 
#define TEST_STRING_EQUAL(a, b)
 String equality macro. More...
 
#define TEST_FILE_EQUAL(filename, templatename)
 File comparison macro. More...
 
#define TEST_REAL_SIMILAR(a, b)
 Floating point similarity macro. More...
 
#define TEST_STRING_SIMILAR(a, b)
 String similarity macro. More...
 
#define TEST_FILE_SIMILAR(a, b)
 File similarity macro. More...
 
#define TOLERANCE_RELATIVE(a)
 Define the relative tolerance for floating point comparisons. More...
 
#define TOLERANCE_ABSOLUTE(a)
 Define the absolute tolerance for floating point comparisons. More...
 
#define WHITELIST(a)   TEST::setWhitelist(__FILE__, __LINE__, (a));
 Define the whitelist_ used by TEST_STRING_SIMILAR and TEST_FILE_SIMILAR. More...
 
#define TEST_EXCEPTION(exception_type, command)
 Exception test macro. More...
 
#define TEST_PRECONDITION_VIOLATED(command)
 Precondition test macro. More...
 
#define TEST_POSTCONDITION_VIOLATED(command)
 Postcondition test macro. More...
 
#define TEST_EXCEPTION_WITH_MESSAGE(exception_type, command, message)
 Exception test macro (with test for exception message). More...
 
#define NEW_TMP_FILE(filename)
 Create a temporary filename. More...
 
#define ABORT_IF(condition)
 Skip the remainder of the current subtest. More...
 
#define STATUS(message)
 Print a status message. More...
 
#define ADD_MESSAGE(message)
 Sets an additional text that is displayed after final result of the test. More...
 
#define NOT_TESTABLE
 Macro that suppresses the warning issued when no subtests are performed. More...
 

Functions

bool validate (const std::vector< std::string > &file_names)
 Validates the given files against the XML schema (if available) More...
 
std::string tmpFileName (const std::string &file, int line)
 Creates a temporary file name from the test name and the line. 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 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 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)
 
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)
 

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...
 

Macro Definition Documentation

◆ std__cout

#define std__cout   std::cout

Provide a point of redirection for testing the test macros, see ClassTest_test.cpp.

Referenced by OpenMS::Internal::ClassTest::testEqual(), and OpenMS::Internal::ClassTest::testNotEqual().


OpenMS / TOPP release 2.3.0 Documentation generated on Tue Jan 9 2018 18:22:05 using doxygen 1.8.13