diff --git a/UnitTest++/ParameterizedManager.cpp b/UnitTest++/ParameterizedManager.cpp index c565afd..0d296fc 100644 --- a/UnitTest++/ParameterizedManager.cpp +++ b/UnitTest++/ParameterizedManager.cpp @@ -109,6 +109,24 @@ void ParameterizedManager::endExecute(TestDetails const * const details) } +void ParameterizedManager::updateParameter(ParameterizedTestAbstract* const parameterized) +{ + RegisterThen then = registerParameter(parameterized); + if (then == ParameterizedManager::IDLE) + { + return; + } + if (then == ParameterizedManager::FIRST) + { + parameterized->onNewIteration(true); + } + else if (then == ParameterizedManager::ITERATE) + { + parameterized->onNewIteration(false); + } +} + + ParameterizedManager::RegisterThen ParameterizedManager::registerParameter(ParameterizedTestAbstract* const parameterized) { if (find(_stack.begin(), _stack.end(), parameterized) == _stack.end()) diff --git a/UnitTest++/ParameterizedManager.h b/UnitTest++/ParameterizedManager.h index e96988d..4b3d5c6 100644 --- a/UnitTest++/ParameterizedManager.h +++ b/UnitTest++/ParameterizedManager.h @@ -14,25 +14,26 @@ namespace UnitTest class ParameterizedManager { public: - enum RegisterThen + static ParameterizedManager & getInstance(); + Test* const getCurrentTest() const; + bool isCurrentTest(TestDetails const * const details) const; + void beginExecute(TestDetails const * const details); + void endExecute(TestDetails const * const details); + void updateParameter(ParameterizedTestAbstract* const parameterized); + const vector & getStack(TestDetails const * const details) const; + + private: + enum RegisterThen //TODO Can remove this ? { FIRST, ITERATE, IDLE }; - static ParameterizedManager & getInstance(); - Test* const getCurrentTest() const; - bool isCurrentTest(TestDetails const * const details) const; - void beginExecute(TestDetails const * const details); - void endExecute(TestDetails const * const details); - RegisterThen registerParameter(ParameterizedTestAbstract* const parameterized); - const vector & getStack(TestDetails const * const details) const; - - private: ParameterizedManager(); virtual ~ParameterizedManager(); TestListNode* const retrieveTest(TestDetails const * const details); + RegisterThen registerParameter(ParameterizedTestAbstract* const parameterized); TestListNode* _currentTest; TestListNode* _nextTestBackup; diff --git a/UnitTest++/ParameterizedTest.cpp b/UnitTest++/ParameterizedTest.cpp index dee7b4c..8e2819f 100644 --- a/UnitTest++/ParameterizedTest.cpp +++ b/UnitTest++/ParameterizedTest.cpp @@ -36,15 +36,7 @@ string ParameterizedTestAbstract::getNameCurrent() const void ParameterizedTestAbstract::updateIteration() { - ParameterizedManager::RegisterThen then = ParameterizedManager::getInstance().registerParameter(this); - if (then == ParameterizedManager::FIRST) - { - onNewIteration(true); - } - else if (then == ParameterizedManager::ITERATE) - { - onNewIteration(false); - } + ParameterizedManager::getInstance().updateParameter(this); }