source: git/libpolys/tests/cxxtest/TeeListener.h @ 8480db

spielwiese
Last change on this file since 8480db was 4aa8610, checked in by Mohamed Barakat <mohamed.barakat@…>, 13 years ago
created libpolys/tests and set up the beginning of a test-suite using cxxtest
  • Property mode set to 100644
File size: 6.3 KB
Line 
1#ifndef __cxxtest__TeeListener_h__
2#define __cxxtest__TeeListener_h__
3
4//
5// A TeeListener notifies two "reular" TestListeners
6//
7
8#include <cxxtest/TestListener.h>
9#include <cxxtest/TestListener.h>
10
11namespace CxxTest
12{
13    class TeeListener : public TestListener
14    {
15    public:
16        TeeListener()
17        {
18            setFirst( _dummy );
19            setSecond( _dummy );
20        }
21
22        virtual ~TeeListener()
23        {
24        }
25
26        void setFirst( TestListener &first )
27        {
28            _first = &first;
29        }
30
31        void setSecond( TestListener &second )
32        {
33            _second = &second;
34        }
35
36        void enterWorld( const WorldDescription &d )
37        {
38            _first->enterWorld( d );
39            _second->enterWorld( d );
40        }
41
42        void enterSuite( const SuiteDescription &d )
43        {
44            _first->enterSuite( d );
45            _second->enterSuite( d );
46        }
47       
48        void enterTest( const TestDescription &d )
49        {
50            _first->enterTest( d );
51            _second->enterTest( d );
52        }
53       
54        void trace( const char *file, unsigned line, const char *expression )
55        {
56            _first->trace( file, line, expression );
57            _second->trace( file, line, expression );
58        }
59       
60        void warning( const char *file, unsigned line, const char *expression )
61        {
62            _first->warning( file, line, expression );
63            _second->warning( file, line, expression );
64        }
65       
66        void failedTest( const char *file, unsigned line, const char *expression )
67        {
68            _first->failedTest( file, line, expression );
69            _second->failedTest( file, line, expression );
70        }
71       
72        void failedAssert( const char *file, unsigned line, const char *expression )
73        {
74            _first->failedAssert( file, line, expression );
75            _second->failedAssert( file, line, expression );
76        }
77       
78        void failedAssertEquals( const char *file, unsigned line,
79                                 const char *xStr, const char *yStr,
80                                 const char *x, const char *y )
81        {
82            _first->failedAssertEquals( file, line, xStr, yStr, x, y );
83            _second->failedAssertEquals( file, line, xStr, yStr, x, y );
84        }
85
86        void failedAssertSameData( const char *file, unsigned line,
87                                   const char *xStr, const char *yStr,
88                                   const char *sizeStr, const void *x,
89                                   const void *y, unsigned size )
90        {
91            _first->failedAssertSameData( file, line, xStr, yStr, sizeStr, x, y, size );
92            _second->failedAssertSameData( file, line, xStr, yStr, sizeStr, x, y, size );
93        }
94       
95        void failedAssertDelta( const char *file, unsigned line,
96                                const char *xStr, const char *yStr, const char *dStr,
97                                const char *x, const char *y, const char *d )
98        {
99            _first->failedAssertDelta( file, line, xStr, yStr, dStr, x, y, d );
100            _second->failedAssertDelta( file, line, xStr, yStr, dStr, x, y, d );
101        }
102       
103        void failedAssertDiffers( const char *file, unsigned line,
104                                  const char *xStr, const char *yStr,
105                                  const char *value )
106        {
107            _first->failedAssertDiffers( file, line, xStr, yStr, value );
108            _second->failedAssertDiffers( file, line, xStr, yStr, value );
109        }
110       
111        void failedAssertLessThan( const char *file, unsigned line,
112                                   const char *xStr, const char *yStr,
113                                   const char *x, const char *y )
114        {
115            _first->failedAssertLessThan( file, line, xStr, yStr, x, y );
116            _second->failedAssertLessThan( file, line, xStr, yStr, x, y );
117        }
118       
119        void failedAssertLessThanEquals( const char *file, unsigned line,
120                                         const char *xStr, const char *yStr,
121                                         const char *x, const char *y )
122        {
123            _first->failedAssertLessThanEquals( file, line, xStr, yStr, x, y );
124            _second->failedAssertLessThanEquals( file, line, xStr, yStr, x, y );
125        }
126       
127        void failedAssertPredicate( const char *file, unsigned line,
128                                    const char *predicate, const char *xStr, const char *x )
129        {
130            _first->failedAssertPredicate( file, line, predicate, xStr, x );
131            _second->failedAssertPredicate( file, line, predicate, xStr, x );
132        }
133       
134        void failedAssertRelation( const char *file, unsigned line,
135                                   const char *relation, const char *xStr, const char *yStr,
136                                   const char *x, const char *y )
137        {
138            _first->failedAssertRelation( file, line, relation, xStr, yStr, x, y );
139            _second->failedAssertRelation( file, line, relation, xStr, yStr, x, y );
140        }
141       
142        void failedAssertThrows( const char *file, unsigned line,
143                                 const char *expression, const char *type,
144                                 bool otherThrown )
145        {
146            _first->failedAssertThrows( file, line, expression, type, otherThrown );
147            _second->failedAssertThrows( file, line, expression, type, otherThrown );
148        }
149       
150        void failedAssertThrowsNot( const char *file, unsigned line,
151                                    const char *expression )
152        {
153            _first->failedAssertThrowsNot( file, line, expression );
154            _second->failedAssertThrowsNot( file, line, expression );
155        }
156       
157        void leaveTest( const TestDescription &d )
158        {
159            _first->leaveTest(d);
160            _second->leaveTest(d);
161        }
162       
163        void leaveSuite( const SuiteDescription &d )
164        {
165            _first->leaveSuite(d);
166            _second->leaveSuite(d);
167        }
168       
169        void leaveWorld( const WorldDescription &d )
170        {
171            _first->leaveWorld(d);
172            _second->leaveWorld(d);
173        }
174
175    private:
176        TestListener *_first, *_second;
177        TestListener _dummy;
178    };
179};
180
181
182#endif // __cxxtest__TeeListener_h__
Note: See TracBrowser for help on using the repository browser.