diff options
Diffstat (limited to 'include/cppunit')
| -rw-r--r-- | include/cppunit/TestCaller.h | 20 |
1 files changed, 15 insertions, 5 deletions
diff --git a/include/cppunit/TestCaller.h b/include/cppunit/TestCaller.h index bbb9002..fbf3902 100644 --- a/include/cppunit/TestCaller.h +++ b/include/cppunit/TestCaller.h @@ -4,6 +4,8 @@ #include <cppunit/Exception.h> #include <cppunit/TestCase.h> +#include <functional> + #if defined(CPPUNIT_USE_TYPEINFO_NAME) # include <cppunit/extensions/TypeInfoHelper.h> @@ -116,7 +118,7 @@ public: TestCase( name ), m_ownFixture( true ), m_fixture( new Fixture() ), - m_test( test ) + m_test_function( std::bind(test, m_fixture) ) { } @@ -133,7 +135,7 @@ public: TestCase( name ), m_ownFixture( false ), m_fixture( &fixture ), - m_test( test ) + m_test_function( std::bind(test, &fixture) ) { } @@ -150,9 +152,17 @@ public: TestCase( name ), m_ownFixture( true ), m_fixture( fixture ), - m_test( test ) + m_test_function( std::bind(test, fixture) ) { } + + TestCaller(std::string name, std::function<void()> test_function, Fixture* fixture): + TestCase(name), + m_ownFixture(true), + m_fixture(fixture), + m_test_function(test_function) + { + } ~TestCaller() { @@ -162,7 +172,7 @@ public: void runTest() { - (m_fixture->*m_test)(); + m_test_function(); } void setUp() @@ -187,7 +197,7 @@ private: private: bool m_ownFixture; Fixture *m_fixture; - TestMethod m_test; + std::function<void()> m_test_function; }; |
