Tuesday, February 9, 2010

GoogleTest Assertions

SUCCEED(); // now output currently
FAIL();
ADD_FAILURE();

Fatal assertion:

ASSERT_THROW(statement, exception_type);
ASSERT_ANY_THROW(statement);
ASSERT_NO_THROW(statement);

Nonfatal assertion:

EXPECT_THROW(statement, exception_type);
EXPECT_ANY_THROW(statement);
EXPECT_NO_THROW(statement);

Examples:

ASSERT_THROW(Foo(5), bar_exception);

EXPECT_NO_THROW
(
  {
      int n= 5;
      Bar(&n);
  }
);

Predicate Assertions

ASSERT_PRED1(pred1, val1);
ASSERT_PRED2(pred2, val1, val2);

...
EXPECT_PRED1(pred1, val1);
...