1 #ifndef __ENGINEINTEGRATIONTEST_HXX__
2 #define __ENGINEINTEGRATIONTEST_HXX__
4 #include <cppunit/extensions/HelperMacros.h>
13 class EngineIntegrationTest : public CppUnit::TestFixture
15 CPPUNIT_TEST_SUITE( EngineIntegrationTest );
16 CPPUNIT_TEST( testBloc1 );
17 CPPUNIT_TEST( testBloc2 );
18 CPPUNIT_TEST( testBloc3 );
19 CPPUNIT_TEST( testBloc4 );
20 CPPUNIT_TEST( testForLoop1 );
21 CPPUNIT_TEST( testForLoop2 );
22 CPPUNIT_TEST( testForLoop3 );
23 CPPUNIT_TEST( testForLoop4 );
24 CPPUNIT_TEST( testForLoop5 );
25 CPPUNIT_TEST( testWhileLoop1 );
26 CPPUNIT_TEST( testWhileLoop2 );
27 CPPUNIT_TEST( testSwitch );
28 CPPUNIT_TEST( testSwitch2 );
29 CPPUNIT_TEST( testSwitch3 );
30 CPPUNIT_TEST( testEdInitOnLoops );
31 CPPUNIT_TEST( testLinkUpdate1 );
32 CPPUNIT_TEST( testLinkUpdate1DS );
33 CPPUNIT_TEST( testLinkUpdate2 );
34 CPPUNIT_TEST( testLinkUpdate2DS );
35 CPPUNIT_TEST( testLinkUpdate3 );
36 CPPUNIT_TEST( testLinkUpdate4 );
37 CPPUNIT_TEST( testInterLoopDFLink );
38 CPPUNIT_TEST( deathTestForLinks );
39 CPPUNIT_TEST( testForEachLoop1 );
40 CPPUNIT_TEST( testForEachLoop2 );
41 CPPUNIT_TEST( testForEachLoop3 );
42 CPPUNIT_TEST( testForEachLoop4 );
43 CPPUNIT_TEST( testForEachLoop5 );
44 CPPUNIT_TEST( testForOptimizerLoop1 );
45 CPPUNIT_TEST( testForOptimizerLoop2 );
46 CPPUNIT_TEST( testForDeployment1 );
47 CPPUNIT_TEST( testForDeployment2 );
48 CPPUNIT_TEST( testForCheckConsistency1 );
49 CPPUNIT_TEST( testForCheckConsistency2 );
50 CPPUNIT_TEST( testForCheckConsistency3 );
51 CPPUNIT_TEST( testForCheckConsistency4 );
52 CPPUNIT_TEST_SUITE_END();
68 void testWhileLoop1();
69 void testWhileLoop2();
70 void testEdInitOnLoops();
71 void testLinkUpdate1();
72 void testLinkUpdate1DS();
73 void testLinkUpdate2();
74 void testLinkUpdate2DS();
75 void testLinkUpdate3();
76 void testLinkUpdate4();
77 void testInterLoopDFLink();
78 void deathTestForLinks();
79 void testForEachLoop1();
80 void testForEachLoop2();
81 void testForEachLoop3();
82 void testForEachLoop4();
83 void testForEachLoop5();
84 void testForOptimizerLoop1();
85 void testForOptimizerLoop2();
86 void testForDeployment1();
87 void testForDeployment2();
88 void testForCheckConsistency1();
89 void testForCheckConsistency2();
90 void testForCheckConsistency3();
91 void testForCheckConsistency4();
94 static void checkListsEqual(const std::list<T>& setToTest1, const std::list<T>& setToTest2);
96 static void checkSetsEqual(const std::set<T>& setToTest1, const std::set<T>& setToTest2);
98 static void checkSetsNotEqual(const std::set<T *>& setToTest1, const std::set<T *>&setToTest2);
102 void EngineIntegrationTest::checkListsEqual(const std::list<T>& setToTest1, const std::list<T>& setToTest2)
104 typename std::list<T>::iterator iter1=setToTest1.begin();
105 typename std::list<T>::iterator iter2=setToTest2.begin();
106 CPPUNIT_ASSERT_EQUAL_MESSAGE("Lists can't be equal : size different", (int)setToTest1.size(), (int)setToTest2.size());
107 for(;iter1!=setToTest1.end();iter1++,iter2++)
108 CPPUNIT_ASSERT_MESSAGE("Lists can't be equal : value different", *iter1==*iter2);
112 void EngineIntegrationTest::checkSetsEqual(const std::set<T>& setToTest1, const std::set<T>& setToTest2)
114 typename std::set<T>::iterator iter1=setToTest1.begin();
115 typename std::set<T>::iterator iter2=setToTest2.begin();
116 CPPUNIT_ASSERT_EQUAL_MESSAGE("Sets can't be equal : size different", (int)setToTest1.size(), (int)setToTest2.size());
117 for(;iter1!=setToTest1.end();iter1++,iter2++)
118 CPPUNIT_ASSERT_MESSAGE("Sets can't be equal : value different", *iter1==*iter2);
122 void EngineIntegrationTest::checkSetsNotEqual(const std::set<T *>& setToTest1, const std::set<T *>&setToTest2)
124 typename std::set<T *>::iterator iter1=setToTest1.begin();
125 CPPUNIT_ASSERT_EQUAL_MESSAGE("Sets can't be equal : size different", (int)setToTest1.size(), (int)setToTest2.size());
126 for(;iter1!=setToTest1.end();iter1++)
127 CPPUNIT_ASSERT_MESSAGE("Elements is in set : not expected.",setToTest2.find(*iter1)==setToTest2.end());