1 #include "CoreSuite.h"
2 #include "TestTest.h"
3 
4 
5 CPPUNIT_TEST_SUITE_NAMED_REGISTRATION( TestTest,
6                                        coreSuiteName() );
7 
8 
TestTest()9 TestTest::TestTest() :
10     CPPUNIT_NS::TestFixture()
11 {
12 }
13 
14 
~TestTest()15 TestTest::~TestTest()
16 {
17 }
18 
19 
20 void
setUp()21 TestTest::setUp()
22 {
23   m_suite = new CPPUNIT_NS::TestSuite( "suite" );
24   m_test1 = new MockTestCase( "test1" );
25   m_test2 = new MockTestCase( "test2" );
26   m_suite->addTest( m_test1 );
27   m_suite->addTest( m_test2 );
28 
29   m_path = new CPPUNIT_NS::TestPath();
30 }
31 
32 
33 void
tearDown()34 TestTest::tearDown()
35 {
36   delete m_suite;
37   delete m_path;
38 }
39 
40 
41 void
testFindTestPathPointerThis()42 TestTest::testFindTestPathPointerThis()
43 {
44   CPPUNIT_ASSERT( m_test1->findTestPath( m_test1, *m_path ) );
45   CPPUNIT_ASSERT_EQUAL( 1, m_path->getTestCount() );
46   CPPUNIT_ASSERT( m_test1 == m_path->getChildTest() );
47 
48   m_path->removeTests();
49 
50   CPPUNIT_ASSERT( m_suite->findTestPath( m_suite, *m_path ) );
51   CPPUNIT_ASSERT_EQUAL( 1, m_path->getTestCount() );
52   CPPUNIT_ASSERT( m_suite == m_path->getChildTest() );
53 }
54 
55 
56 void
testFindTestPathPointer()57 TestTest::testFindTestPathPointer()
58 {
59   CPPUNIT_ASSERT( m_suite->findTestPath( m_test1, *m_path ) );
60   CPPUNIT_ASSERT_EQUAL( 2, m_path->getTestCount() );
61   CPPUNIT_ASSERT( m_suite == m_path->getTestAt(0) );
62   CPPUNIT_ASSERT( m_test1 == m_path->getTestAt(1) );
63 }
64 
65 
66 void
testFindTestPathPointerFail()67 TestTest::testFindTestPathPointerFail()
68 {
69   MockTestCase test( "test" );
70   CPPUNIT_ASSERT( !m_suite->findTestPath( &test, *m_path ) );
71   CPPUNIT_ASSERT( !m_path->isValid() );
72 }
73 
74 
75 void
testFindTestPathNameThis()76 TestTest::testFindTestPathNameThis()
77 {
78   CPPUNIT_ASSERT( m_test1->findTestPath( "test1", *m_path ) );
79   CPPUNIT_ASSERT_EQUAL( 1, m_path->getTestCount() );
80   CPPUNIT_ASSERT( m_test1 == m_path->getChildTest() );
81 
82   m_path->removeTests();
83 
84   CPPUNIT_ASSERT( m_suite->findTestPath( "suite", *m_path ) );
85   CPPUNIT_ASSERT_EQUAL( 1, m_path->getTestCount() );
86   CPPUNIT_ASSERT( m_suite == m_path->getChildTest() );
87 }
88 
89 
90 void
testFindTestPathName()91 TestTest::testFindTestPathName()
92 {
93   CPPUNIT_ASSERT( m_suite->findTestPath( "test2", *m_path ) );
94   CPPUNIT_ASSERT_EQUAL( 2, m_path->getTestCount() );
95   CPPUNIT_ASSERT( m_suite == m_path->getTestAt(0) );
96   CPPUNIT_ASSERT( m_test2 == m_path->getTestAt(1) );
97 }
98 
99 
100 void
testFindTestPathNameFail()101 TestTest::testFindTestPathNameFail()
102 {
103   CPPUNIT_ASSERT( !m_suite->findTestPath( "bad-test", *m_path ) );
104   CPPUNIT_ASSERT( !m_path->isValid() );
105 }
106 
107 
108 void
testFindTest()109 TestTest::testFindTest()
110 {
111   CPPUNIT_ASSERT( m_test1 == m_suite->findTest( "test1" ) );
112 }
113 
114 
115 void
testFindTestThrow()116 TestTest::testFindTestThrow()
117 {
118   m_suite->findTest( "no-name" );
119 }
120 
121 
122 void
testResolveTestPath()123 TestTest::testResolveTestPath()
124 {
125   CPPUNIT_NS::TestPath path1 = m_suite->resolveTestPath( "suite");
126   CPPUNIT_ASSERT_EQUAL( 1, path1.getTestCount() );
127   CPPUNIT_ASSERT( m_suite == path1.getTestAt(0) );
128 
129   CPPUNIT_NS::TestPath path2 = m_suite->resolveTestPath( "suite/test2");
130   CPPUNIT_ASSERT_EQUAL( 2, path2.getTestCount() );
131   CPPUNIT_ASSERT( m_suite == path2.getTestAt(0) );
132   CPPUNIT_ASSERT( m_test2 == path2.getTestAt(1) );
133 }
134