tags:

views:

80

answers:

2

I am new to cppunit. Is there any way to assert that a value must be less than zero? I am looking for something with similar behavior to CPPUNIT_ASSERT_EQUAL().

+4  A: 

How about CPPUNIT_ASSERT(variable < 0);?

Steven Oxley
omg! This is so obvious! Thanks!
myle
haha, no problem.
Steven Oxley
+3  A: 

Following our cppunit test template is this commented block:

/*
The following macros for adding test cases are available:

- CPPUNIT_TEST(memberFunction): Add a member function to the suite.

- CPPUNIT_TEST_EXCEPTION(memberFunction, exception): Add a member function to
  the suite, which fails if it does not throw the specified exception type.

- CPPUNIT_TEST_FAIL(memberFunction): Add a member function to the suite that
  is expected to fail (i.e., it fails if the memberFunction does not fail).


The following assert macros are available:

- CPPUNIT_ASSERT(condition): Assert that condition is true.

- CPPUNIT_ASSERT_MESSAGE(message, condition): Assert that condition is true,
  and fail with message if it is not.

- CPPUNIT_FAIL(message): Fail with the given message.

- CPPUNIT_ASSERT_EQUAL(expected, actual): Assert that expected equals actual.
  Note that expected and actual needs to be of the same type.

- CPPUNIT_ASSERT_EQUAL_MESSAGE(message, expected, actual): Assert that
  expected equals actual, and fail with message if not.

- CPPUNIT_ASSERT_DOUBLES_EQUAL(expected, actual, delta): Assert that the
  floating point values expected and actual do not differ by more than delta.

- CPPUNIT_ASSERT_THROW(expression, ExceptionType): Assert that the given
  expression causes an exception of type ExceptionType to be thrown.

- CPPUNIT_ASSERT_NO_THROW(expression): Assert that the given expression does
  not throw an exception.
*/

It covers most circumstances. As Oxley mention, CPPUNIT_ASSERT is the best choice here, with or without a message.

daramarak
Thanks a lot! As a newbie I was in need of something like this.
myle
And there's always the on-line documentation: http://cppunit.sourceforge.net/doc/lastest/group___assertions.html
Steven Oxley