Visual Assert – The Unit Testing Add-In for Visual C++
cfix – C/C++ Unit Testing for Win32 and NT
 
 

CFIXCC_ASSERT_NOT_EQUALS

CFIXCC_ASSERT_NOT_EQUALS

Synopsis

CFIXCC_ASSERT_NOT_EQUALS allows typesafe comparison of values. Failed comparisons are treated as a failure, i.e. in the same manner as a failed CFIX_ASSERT. The benefit over using CFIX_ASSERT( Expected != Actual ) is that the expected and actual value will be visible in the failure report.

Declaration
void CFIXCC_ASSERT_NOT_EQUALS( 
	__in T Expected, 
	__in T Actual 
	);
				

T can be any type, but the types of both values must be compatible. See discussion below.

Parameters

[in] Expected: The expected value.

[in] Actual: The actual value that is to be checked.

Remarks

The way the comparison is conducted depends on the type of the two values.

  • Primitive integer objects are compared using the builtin != operator.
  • Pointers are checked for address inequality. An exception to this are C strings (char*, const char*, wchar_t*, const wchar_t*). Such strings will be wrapped by std::string and std::wstring objects respectively, and operator!= of std::string or std::wstring will be invoked. That is, a value-comparison is conducted.
  • For non-primitive, non-pointer types, i.e. objects of a custom class, operator!= of the respective class is invoked.

Usage example
CFIXCC_ASSERT_NOT_EQUALS( 1, 2 );
CFIXCC_ASSERT_NOT_EQUALS( L"test", L"" );
				
Requirements

Table 7.29. 

 User ModeKernel Mode
Available since1.2N/A
HeaderDeclared in cfixcc.hN/A
LibraryLink to cfix.libN/A
DLLcfix.dllN/A
IRQLN/AN/A