Salome HOME
Merge from V6_main 01/04/2013
[modules/med.git] / src / INTERP_KERNELTest / CppUnitTest.hxx
1 // Copyright (C) 2007-2013  CEA/DEN, EDF R&D
2 //
3 // This library is free software; you can redistribute it and/or
4 // modify it under the terms of the GNU Lesser General Public
5 // License as published by the Free Software Foundation; either
6 // version 2.1 of the License.
7 //
8 // This library is distributed in the hope that it will be useful,
9 // but WITHOUT ANY WARRANTY; without even the implied warranty of
10 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
11 // Lesser General Public License for more details.
12 //
13 // You should have received a copy of the GNU Lesser General Public
14 // License along with this library; if not, write to the Free Software
15 // Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307 USA
16 //
17 // See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
18 //
19
20 #ifndef __TU_TEST_CPPUNIT_HXX__
21 #define __TU_TEST_CPPUNIT_HXX__
22
23 #include <cppunit/extensions/HelperMacros.h>
24
25 /**
26  * \brief Class tested by TestBogusClass : not very useful
27  */
28 class BogusClass {
29   friend class TestBogusClass;
30
31 public:
32   BogusClass(double _x) : x(_x) {;} 
33  
34   double getX() { return x; }
35
36 private: 
37   double x;
38 };
39   
40 /**
41  * \brief Class used to figure out CppUnit : not very useful
42  *
43  */
44 class TestBogusClass : public CppUnit::TestFixture
45 {
46
47   CPPUNIT_TEST_SUITE( TestBogusClass );
48   CPPUNIT_TEST( test1 );
49   CPPUNIT_TEST( test2 );
50   CPPUNIT_TEST_SUITE_END();
51
52 public:
53   void setUp() {
54     obj = new BogusClass(3.14);
55   }
56
57   void tearDown() {
58     delete obj;
59   }
60
61   void test1() {
62     // test something
63     CPPUNIT_ASSERT(obj->x == 3.14);
64     CPPUNIT_ASSERT(obj->getX() == obj->x);
65   }
66
67   void test2() {
68     // test something else
69     obj->x += 2.6;
70     CPPUNIT_ASSERT(obj->getX() > 3.14);
71   }
72
73 private:
74   BogusClass* obj;
75
76 };
77
78
79
80
81
82
83
84
85 #endif