1
#include <cxxtest/TestSuite.h>
5
// This is a test suite in which all tests pass.
6
// It is also an example of all the TS[M]_ macros except TS_FAIL()
9
class GoodSuite : public CxxTest::TestSuite
20
void testAssertMessage()
22
TSM_ASSERT("ASCII works", 'A' == 65);
27
TS_ASSERT_EQUALS(1 + 1, 2);
28
TS_ASSERT_EQUALS(2 * 2, 4);
29
TS_ASSERT_EQUALS(-4 * -4, 16);
32
void testEqualsMessage()
34
TSM_ASSERT_EQUALS("Addition operator works", 1 + 1, 2);
39
TS_ASSERT_DELTA(1.0 + 1.0, 2.0, 0.0001);
42
void testDeltaMessage()
44
TSM_ASSERT_DELTA("sqrt() works", sqrt(2.0), 1.4142, 0.0001);
49
TS_ASSERT_DIFFERS(0, 1);
50
TS_ASSERT_DIFFERS(0.12, 0.123);
53
void testDiffersMessage()
55
TSM_ASSERT_DIFFERS("Not all is true", 0, 1);
60
TS_ASSERT_LESS_THAN(1, 2);
61
TS_ASSERT_LESS_THAN(-2, -1);
64
void testLessThanMessage()
66
TSM_ASSERT_LESS_THAN(".5 is less than its square root", 0.5, sqrt(0.5));
69
void testLessThanEquals()
71
TS_ASSERT_LESS_THAN_EQUALS(3, 3);
72
TS_ASSERT_LESS_THAN_EQUALS(3, 4);
75
void testLessThanEqualsMessage()
77
TSM_ASSERT_LESS_THAN_EQUALS("1.0 <= its square root", 1.0, sqrt(1.0));
82
TS_ASSERT_THROWS( { throw 1; }, int);
85
void testThrowsMessage()
87
TSM_ASSERT_THROWS("1 is an integer", { throw 1; }, int);
90
void testThrowsAnything()
92
TS_ASSERT_THROWS_ANYTHING( { throw GoodSuite(); });
95
void testThrowsAnythingMessage()
97
TSM_ASSERT_THROWS_ANYTHING("Yes, you can throw test suites",
98
{ throw GoodSuite(); });
101
void testThrowsNothing()
103
TS_ASSERT_THROWS_NOTHING(throwNothing());
106
void testThrowsNothingMessage()
108
TSM_ASSERT_THROWS_NOTHING("Empty functions dosn't throw", throwNothing());