ITK  5.4.0
Insight Toolkit
Namespaces | Macros
itkTestingMacros.h File Reference
#include "itkMacro.h"
#include <cstring>
+ Include dependency graph for itkTestingMacros.h:

Go to the source code of this file.

Namespaces

 itk
 

Macros

#define EXERCISE_BASIC_OBJECT_METHODS   "Replace EXERCISE_BASIC_OBJECT_METHODS with ITK_EXERCISE_BASIC_OBJECT_METHODS"
 
#define ITK_EXERCISE_BASIC_OBJECT_METHODS(object, ClassName, SuperclassName)
 
#define ITK_TEST_EXPECT_EQUAL(lh, rh)
 
#define ITK_TEST_EXPECT_EQUAL_STATUS_VALUE(lh, rh, statusVal)
 
#define ITK_TEST_EXPECT_TRUE(command)
 
#define ITK_TEST_EXPECT_TRUE_STATUS_VALUE(command, statusVal)
 
#define ITK_TEST_SET_GET(variable, command)
 
#define ITK_TEST_SET_GET_BOOLEAN(object, variable, value)
 
#define ITK_TEST_SET_GET_NULL_VALUE(command)
 
#define ITK_TEST_SET_GET_VALUE(variable, command)
 
#define ITK_TRY_EXPECT_EXCEPTION(command)
 
#define ITK_TRY_EXPECT_NO_EXCEPTION(command)
 
#define itkNameOfTestExecutableMacro(argv)
 
#define TEST_EXPECT_EQUAL   "Replace TEST_EXPECT_EQUAL with ITK_TEST_EXPECT_EQUAL"
 
#define TEST_EXPECT_EQUAL_STATUS_VALUE   "Replace TEST_EXPECT_EQUAL_STATUS_VALUE with ITK_TEST_EXPECT_EQUAL_STATUS_VALUE"
 
#define TEST_EXPECT_TRUE   "Replace TEST_EXPECT_TRUE with ITK_TEST_EXPECT_TRUE"
 
#define TEST_EXPECT_TRUE_STATUS_VALUE   "Replace TEST_EXPECT_TRUE_STATUS_VALUE with ITK_TEST_EXPECT_TRUE_STATUS_VALUE"
 
#define TEST_SET_GET   "Replace TEST_SET_GET with ITK_TEST_SET_GET"
 
#define TEST_SET_GET_BOOLEAN   "Replace TEST_SET_GET_BOOLEAN with ITK_TEST_SET_GET_BOOLEAN"
 
#define TEST_SET_GET_NULL_VALUE   "Replace TEST_SET_GET_NULL_VALUE with ITK_TEST_SET_GET_NULL_VALUE"
 
#define TEST_SET_GET_VALUE   "Replace TEST_SET_GET_VALUE with ITK_TEST_SET_GET_VALUE"
 
#define TRY_EXPECT_EXCEPTION   "Replace TRY_EXPECT_EXCEPTION with ITK_TRY_EXPECT_EXCEPTION"
 
#define TRY_EXPECT_NO_EXCEPTION   "Replace TRY_EXPECT_NO_EXCEPTION with ITK_TRY_EXPECT_NO_EXCEPTION"
 

Macro Definition Documentation

◆ EXERCISE_BASIC_OBJECT_METHODS

#define EXERCISE_BASIC_OBJECT_METHODS   "Replace EXERCISE_BASIC_OBJECT_METHODS with ITK_EXERCISE_BASIC_OBJECT_METHODS"

Definition at line 53 of file itkTestingMacros.h.

◆ ITK_EXERCISE_BASIC_OBJECT_METHODS

#define ITK_EXERCISE_BASIC_OBJECT_METHODS (   object,
  ClassName,
  SuperclassName 
)
Value:
object->Print(std::cout); \
std::cout << "Name of Class = " << object->Self::GetNameOfClass() << std::endl; \
std::cout << "Name of Superclass = " << object->Superclass::GetNameOfClass() << std::endl; \
if (!std::strcmp(object->Self::GetNameOfClass(), #ClassName)) \
{ \
std::cout << "Class name is correct" << std::endl; \
} \
else \
{ \
std::cerr << "Class name provided does not match object's NameOfClass" << std::endl; \
return EXIT_FAILURE; \
} \
if (!std::strcmp(object->Superclass::GetNameOfClass(), #SuperclassName)) \
{ \
std::cout << "Superclass name is correct" << std::endl; \
} \
else \
{ \
std::cerr << "Superclass name provided does not match object's Superclass::NameOfClass" << std::endl; \
return EXIT_FAILURE; \
} \
ITK_MACROEND_NOOP_STATEMENT

Definition at line 87 of file itkTestingMacros.h.

◆ ITK_TEST_EXPECT_EQUAL

#define ITK_TEST_EXPECT_EQUAL (   lh,
  rh 
)
Value:
{ \
ITK_GCC_PRAGMA_PUSH \
ITK_GCC_SUPPRESS_Wfloat_equal \
bool _ITK_TEST_EXPECT_EQUAL_result((lh) == (rh)); \
ITK_GCC_PRAGMA_POP \
if (!(_ITK_TEST_EXPECT_EQUAL_result)) \
{ \
std::cerr << "Error in " << #lh << " == " << #rh << std::endl; \
std::cerr << "\tIn " __FILE__ ", line " << __LINE__ << std::endl; \
std::cerr << "\tlh: " << (lh) << std::endl; \
std::cerr << "\trh: " << (rh) << std::endl; \
std::cerr << "Expression is not equal" << std::endl; \
return EXIT_FAILURE; \
} \
} \
ITK_MACROEND_NOOP_STATEMENT

Definition at line 197 of file itkTestingMacros.h.

◆ ITK_TEST_EXPECT_EQUAL_STATUS_VALUE

#define ITK_TEST_EXPECT_EQUAL_STATUS_VALUE (   lh,
  rh,
  statusVal 
)
Value:
{ \
ITK_GCC_PRAGMA_PUSH \
ITK_GCC_SUPPRESS_Wfloat_equal \
bool _ITK_TEST_EXPECT_EQUAL_result((lh) == (rh)); \
ITK_GCC_PRAGMA_POP \
if (!(_ITK_TEST_EXPECT_EQUAL_result)) \
{ \
std::cerr << "Error in " << #lh << " == " << #rh << std::endl; \
std::cerr << "\tIn " __FILE__ ", line " << __LINE__ << std::endl; \
std::cerr << "\tlh: " << (lh) << std::endl; \
std::cerr << "\trh: " << (rh) << std::endl; \
std::cerr << "Expression is not equal" << std::endl; \
statusVal = EXIT_FAILURE; \
} \
} \
ITK_MACROEND_NOOP_STATEMENT

Definition at line 179 of file itkTestingMacros.h.

◆ ITK_TEST_EXPECT_TRUE

#define ITK_TEST_EXPECT_TRUE (   command)
Value:
{ \
ITK_GCC_PRAGMA_PUSH \
ITK_GCC_SUPPRESS_Wfloat_equal \
bool _ITK_TEST_EXPECT_TRUE_command(command); \
ITK_GCC_PRAGMA_POP \
if (!(_ITK_TEST_EXPECT_TRUE_command)) \
{ \
std::cerr << "Error in " << #command << std::endl; \
std::cerr << " In " __FILE__ ", line " << __LINE__ << std::endl; \
std::cerr << "Expected true" << std::endl; \
std::cerr << " but got " << _ITK_TEST_EXPECT_TRUE_command << std::endl; \
return EXIT_FAILURE; \
} \
} \
ITK_MACROEND_NOOP_STATEMENT

Definition at line 161 of file itkTestingMacros.h.

◆ ITK_TEST_EXPECT_TRUE_STATUS_VALUE

#define ITK_TEST_EXPECT_TRUE_STATUS_VALUE (   command,
  statusVal 
)
Value:
{ \
ITK_GCC_PRAGMA_PUSH \
ITK_GCC_SUPPRESS_Wfloat_equal \
bool _ITK_TEST_EXPECT_TRUE_command(command); \
ITK_GCC_PRAGMA_POP \
if (!(_ITK_TEST_EXPECT_TRUE_command)) \
{ \
std::cerr << "Error in " << #command << std::endl; \
std::cerr << " In " __FILE__ ", line " << __LINE__ << std::endl; \
std::cerr << "Expected true" << std::endl; \
std::cerr << " but got " << _ITK_TEST_EXPECT_TRUE_command << std::endl; \
statusVal = EXIT_FAILURE; \
} \
} \
ITK_MACROEND_NOOP_STATEMENT

Definition at line 144 of file itkTestingMacros.h.

◆ ITK_TEST_SET_GET

#define ITK_TEST_SET_GET (   variable,
  command 
)
Value:
if (variable != command) \
{ \
std::cerr << "Error in " << #command << std::endl; \
std::cerr << " In " __FILE__ ", line " << __LINE__ << std::endl; \
std::cerr << "Expected " << variable.GetPointer() << std::endl; \
std::cerr << "but got " << command << std::endl; \
return EXIT_FAILURE; \
} \
ITK_MACROEND_NOOP_STATEMENT

Definition at line 216 of file itkTestingMacros.h.

◆ ITK_TEST_SET_GET_BOOLEAN

#define ITK_TEST_SET_GET_BOOLEAN (   object,
  variable,
  value 
)
Value:
object->Set##variable(false); \
object->Set##variable(true); \
if (object->Get##variable() != 1) \
{ \
std::cerr << "Error in Set/Get" #variable << ", Get" #variable << " is " << object->Get##variable() \
<< " instead of 1" << std::endl; \
return EXIT_FAILURE; \
} \
object->Set##variable(false); \
if (object->Get##variable() != 0) \
{ \
std::cerr << "Error in Set/Get" #variable << ", Get" #variable << " is " << object->Get##variable() \
<< " instead of 0" << std::endl; \
return EXIT_FAILURE; \
} \
object->variable##On(); \
if (object->Get##variable() != 1) \
{ \
std::cerr << "Error in On/Get" #variable << ", Get" #variable << " is " << object->Get##variable() \
<< " instead of 1" << std::endl; \
return EXIT_FAILURE; \
} \
object->variable##Off(); \
if (object->Get##variable() != 0) \
{ \
std::cerr << "Error in Off/Get" #variable << ", Get" #variable << " is " << object->Get##variable() \
<< " instead of 0" << std::endl; \
return EXIT_FAILURE; \
} \
object->Set##variable(value)

Definition at line 254 of file itkTestingMacros.h.

◆ ITK_TEST_SET_GET_NULL_VALUE

#define ITK_TEST_SET_GET_NULL_VALUE (   command)
Value:
if (nullptr != command) \
{ \
std::cerr << "Error in " << #command << std::endl; \
std::cerr << " In " __FILE__ ", line " << __LINE__ << std::endl; \
std::cerr << "Expected " \
<< "nullptr" << std::endl; \
std::cerr << "but got " << command << std::endl; \
return EXIT_FAILURE; \
} \
ITK_MACROEND_NOOP_STATEMENT

Definition at line 242 of file itkTestingMacros.h.

◆ ITK_TEST_SET_GET_VALUE

#define ITK_TEST_SET_GET_VALUE (   variable,
  command 
)
Value:
ITK_GCC_PRAGMA_PUSH \
ITK_GCC_SUPPRESS_Wfloat_equal \
if (variable != command) \
{ \
std::cerr << "Error in " << #command << std::endl; \
std::cerr << " In " __FILE__ ", line " << __LINE__ << std::endl; \
std::cerr << "Expected " << variable << std::endl; \
std::cerr << "but got " << command << std::endl; \
return EXIT_FAILURE; \
} \
ITK_GCC_PRAGMA_POP \
ITK_MACROEND_NOOP_STATEMENT

Definition at line 228 of file itkTestingMacros.h.

◆ ITK_TRY_EXPECT_EXCEPTION

#define ITK_TRY_EXPECT_EXCEPTION (   command)
Value:
try \
{ \
std::cout << "Trying " << #command << std::endl; \
command; \
std::cerr << "Failed to catch expected exception" << std::endl; \
std::cerr << " In " __FILE__ ", line " << __LINE__ << std::endl; \
return EXIT_FAILURE; \
} \
catch (const itk::ExceptionObject & excp) \
{ \
std::cout << "Caught expected exception" << std::endl; \
std::cout << excp << std::endl; \
} \
ITK_MACROEND_NOOP_STATEMENT

Definition at line 113 of file itkTestingMacros.h.

◆ ITK_TRY_EXPECT_NO_EXCEPTION

#define ITK_TRY_EXPECT_NO_EXCEPTION (   command)
Value:
try \
{ \
std::cout << "Trying " << #command << std::endl; \
command; \
} \
catch (const itk::ExceptionObject & excp) \
{ \
std::cerr << excp << std::endl; \
std::cerr << " In " __FILE__ ", line " << __LINE__ << std::endl; \
return EXIT_FAILURE; \
} \
ITK_MACROEND_NOOP_STATEMENT

Definition at line 130 of file itkTestingMacros.h.

◆ itkNameOfTestExecutableMacro

#define itkNameOfTestExecutableMacro (   argv)
Value:
[argv](const std::string & functionName) { \
return ((argv == nullptr) || (argv[0] == nullptr) || (argv[0][0] == '\0')) ? ("<" + functionName + " executable>") \
: argv[0]; \
}(__func__)

The name of the executable, argv[0], is not always available as argv[0] may be null. In that case, use the name of the test function.

Definition at line 289 of file itkTestingMacros.h.

◆ TEST_EXPECT_EQUAL

#define TEST_EXPECT_EQUAL   "Replace TEST_EXPECT_EQUAL with ITK_TEST_EXPECT_EQUAL"

Definition at line 60 of file itkTestingMacros.h.

◆ TEST_EXPECT_EQUAL_STATUS_VALUE

#define TEST_EXPECT_EQUAL_STATUS_VALUE   "Replace TEST_EXPECT_EQUAL_STATUS_VALUE with ITK_TEST_EXPECT_EQUAL_STATUS_VALUE"

Definition at line 58 of file itkTestingMacros.h.

◆ TEST_EXPECT_TRUE

#define TEST_EXPECT_TRUE   "Replace TEST_EXPECT_TRUE with ITK_TEST_EXPECT_TRUE"

Definition at line 57 of file itkTestingMacros.h.

◆ TEST_EXPECT_TRUE_STATUS_VALUE

#define TEST_EXPECT_TRUE_STATUS_VALUE   "Replace TEST_EXPECT_TRUE_STATUS_VALUE with ITK_TEST_EXPECT_TRUE_STATUS_VALUE"

Definition at line 56 of file itkTestingMacros.h.

◆ TEST_SET_GET

#define TEST_SET_GET   "Replace TEST_SET_GET with ITK_TEST_SET_GET"

Definition at line 61 of file itkTestingMacros.h.

◆ TEST_SET_GET_BOOLEAN

#define TEST_SET_GET_BOOLEAN   "Replace TEST_SET_GET_BOOLEAN with ITK_TEST_SET_GET_BOOLEAN"

Definition at line 64 of file itkTestingMacros.h.

◆ TEST_SET_GET_NULL_VALUE

#define TEST_SET_GET_NULL_VALUE   "Replace TEST_SET_GET_NULL_VALUE with ITK_TEST_SET_GET_NULL_VALUE"

Definition at line 63 of file itkTestingMacros.h.

◆ TEST_SET_GET_VALUE

#define TEST_SET_GET_VALUE   "Replace TEST_SET_GET_VALUE with ITK_TEST_SET_GET_VALUE"

Definition at line 62 of file itkTestingMacros.h.

◆ TRY_EXPECT_EXCEPTION

#define TRY_EXPECT_EXCEPTION   "Replace TRY_EXPECT_EXCEPTION with ITK_TRY_EXPECT_EXCEPTION"

Definition at line 54 of file itkTestingMacros.h.

◆ TRY_EXPECT_NO_EXCEPTION

#define TRY_EXPECT_NO_EXCEPTION   "Replace TRY_EXPECT_NO_EXCEPTION with ITK_TRY_EXPECT_NO_EXCEPTION"

Definition at line 55 of file itkTestingMacros.h.