File: GoodSuite.h

package info (click to toggle)
cxxtest 4.4%2Bgit171022-2
  • links: PTS
  • area: main
  • in suites: bookworm, bullseye, sid, trixie
  • size: 2,836 kB
  • sloc: cpp: 9,567; python: 9,553; xml: 435; sh: 258; ruby: 229; makefile: 86; ansic: 68; perl: 16
file content (114 lines) | stat: -rw-r--r-- 2,296 bytes parent folder | download | duplicates (13)
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()
    {
    }
};