1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114
|
#include <cxxtest/TestSuite.h>
#include <math.h>
//
// This is a test suite in which all tests pass.
// It is also an example of all the TS[M]_ macros except TS_FAIL()
//
class GoodSuite : public CxxTest::TestSuite
{
public:
void testAssert()
{
TS_ASSERT(true);
TS_ASSERT(1 == 1);
TS_ASSERT(13);
TS_ASSERT(this);
}
void testAssertMessage()
{
TSM_ASSERT("ASCII works", 'A' == 65);
}
void testEquals()
{
TS_ASSERT_EQUALS(1 + 1, 2);
TS_ASSERT_EQUALS(2 * 2, 4);
TS_ASSERT_EQUALS(-4 * -4, 16);
}
void testEqualsMessage()
{
TSM_ASSERT_EQUALS("Addition operator works", 1 + 1, 2);
}
void testDelta()
{
TS_ASSERT_DELTA(1.0 + 1.0, 2.0, 0.0001);
}
void testDeltaMessage()
{
TSM_ASSERT_DELTA("sqrt() works", sqrt(2.0), 1.4142, 0.0001);
}
void testDiffers()
{
TS_ASSERT_DIFFERS(0, 1);
TS_ASSERT_DIFFERS(0.12, 0.123);
}
void testDiffersMessage()
{
TSM_ASSERT_DIFFERS("Not all is true", 0, 1);
}
void testLessThan()
{
TS_ASSERT_LESS_THAN(1, 2);
TS_ASSERT_LESS_THAN(-2, -1);
}
void testLessThanMessage()
{
TSM_ASSERT_LESS_THAN(".5 is less than its square root", 0.5, sqrt(0.5));
}
void testLessThanEquals()
{
TS_ASSERT_LESS_THAN_EQUALS(3, 3);
TS_ASSERT_LESS_THAN_EQUALS(3, 4);
}
void testLessThanEqualsMessage()
{
TSM_ASSERT_LESS_THAN_EQUALS("1.0 <= its square root", 1.0, sqrt(1.0));
}
void testThrows()
{
TS_ASSERT_THROWS( { throw 1; }, int);
}
void testThrowsMessage()
{
TSM_ASSERT_THROWS("1 is an integer", { throw 1; }, int);
}
void testThrowsAnything()
{
TS_ASSERT_THROWS_ANYTHING( { throw GoodSuite(); });
}
void testThrowsAnythingMessage()
{
TSM_ASSERT_THROWS_ANYTHING("Yes, you can throw test suites",
{ throw GoodSuite(); });
}
void testThrowsNothing()
{
TS_ASSERT_THROWS_NOTHING(throwNothing());
}
void testThrowsNothingMessage()
{
TSM_ASSERT_THROWS_NOTHING("Empty functions dosn't throw", throwNothing());
}
void throwNothing()
{
}
};
|