From 449a77cb2ee6c69a73779e29601ef53febaa9977 Mon Sep 17 00:00:00 2001 From: Gabriel Schlozer Date: Fri, 9 Sep 2016 11:16:26 +0200 Subject: [PATCH] small refactor --- UnitTest++/PredicateCmdBuilder.cpp | 23 +++++++++++++++++ UnitTest++/PredicateCmdBuilder.h | 16 ++++++++++++ UnitTest++/SuitePredicateCmdBuilder.cpp | 33 ------------------------- UnitTest++/SuitePredicateCmdBuilder.h | 20 --------------- UnitTest++/TestRunner.cpp | 11 +++++---- 5 files changed, 45 insertions(+), 58 deletions(-) create mode 100644 UnitTest++/PredicateCmdBuilder.cpp create mode 100644 UnitTest++/PredicateCmdBuilder.h delete mode 100644 UnitTest++/SuitePredicateCmdBuilder.cpp delete mode 100644 UnitTest++/SuitePredicateCmdBuilder.h diff --git a/UnitTest++/PredicateCmdBuilder.cpp b/UnitTest++/PredicateCmdBuilder.cpp new file mode 100644 index 0000000..7896fb9 --- /dev/null +++ b/UnitTest++/PredicateCmdBuilder.cpp @@ -0,0 +1,23 @@ +#include "PredicateCmdBuilder.h" + +using namespace UnitTest; + + +void PredicateCmdBuilder::fillSuitePredicate(const ArgumentsReader & arguments, SuitePredicate & outPredicate, bool allowImplicitArgs) +{ + outPredicate.addSuites(arguments.extractValues("--suite")); + outPredicate.addTests(arguments.extractValues("--test")); + + if (allowImplicitArgs) + { + vector implicitArguments = arguments.extractValues(""); + outPredicate.addSuites(implicitArguments); + outPredicate.addTests(implicitArguments); + } + + if (outPredicate.empty()) + { + outPredicate.addAll(); + } +} + diff --git a/UnitTest++/PredicateCmdBuilder.h b/UnitTest++/PredicateCmdBuilder.h new file mode 100644 index 0000000..cfafe08 --- /dev/null +++ b/UnitTest++/PredicateCmdBuilder.h @@ -0,0 +1,16 @@ +#ifndef UNITTEST_PredicateCmdBuilder_H +#define UNITTEST_TESTRUNNERCMD_H + +#include "ArgumentsReader.h" +#include "SuitePredicate.h" + +namespace UnitTest { + + class PredicateCmdBuilder + { + public: + static void fillSuitePredicate(const ArgumentsReader & arguments, SuitePredicate & outPredicate, bool allowImplicitArgs = true); + }; +} + +#endif \ No newline at end of file diff --git a/UnitTest++/SuitePredicateCmdBuilder.cpp b/UnitTest++/SuitePredicateCmdBuilder.cpp deleted file mode 100644 index 50c9ba8..0000000 --- a/UnitTest++/SuitePredicateCmdBuilder.cpp +++ /dev/null @@ -1,33 +0,0 @@ -#include "SuitePredicateCmdBuilder.h" - -using namespace UnitTest; - - -SuitePredicateCmdBuilder::SuitePredicateCmdBuilder(int argc, char**argv) - : _arguments(argc, argv) -{ -} - - -SuitePredicate SuitePredicateCmdBuilder::buildPredicate(bool allowImplicitArgs) -{ - SuitePredicate predicate; - - predicate.addSuites(_arguments.extractValues("--suite")); - predicate.addTests(_arguments.extractValues("--test")); - - if (allowImplicitArgs) - { - vector implicitArguments = _arguments.extractValues(""); - predicate.addSuites(implicitArguments); - predicate.addTests(implicitArguments); - } - - if (predicate.empty()) - { - predicate.addAll(); - } - - return predicate; -} - diff --git a/UnitTest++/SuitePredicateCmdBuilder.h b/UnitTest++/SuitePredicateCmdBuilder.h deleted file mode 100644 index 9a994e5..0000000 --- a/UnitTest++/SuitePredicateCmdBuilder.h +++ /dev/null @@ -1,20 +0,0 @@ -#ifndef UNITTEST_TESTRUNNERCMD_H -#define UNITTEST_TESTRUNNERCMD_H - -#include "ArgumentsReader.h" -#include "SuitePredicate.h" - -namespace UnitTest { - - class SuitePredicateCmdBuilder - { - public: - SuitePredicateCmdBuilder(int argc, char**argv); - SuitePredicate buildPredicate(bool allowImplicitArgs = true); - - private: - ArgumentsReader _arguments; - }; -} - -#endif \ No newline at end of file diff --git a/UnitTest++/TestRunner.cpp b/UnitTest++/TestRunner.cpp index c349eb6..085d02a 100644 --- a/UnitTest++/TestRunner.cpp +++ b/UnitTest++/TestRunner.cpp @@ -5,7 +5,7 @@ #include "TimeHelpers.h" #include "MemoryOutStream.h" #include "SuitePredicate.h" -#include "SuitePredicateCmdBuilder.h" +#include "PredicateCmdBuilder.h" #include @@ -19,14 +19,15 @@ namespace UnitTest { return runner.RunTestsIf(Test::GetTestList(), NULL, True(), 0); } - int RunTestsCmd(int argc, char**argv) { - SuitePredicateCmdBuilder suiteCmd(argc, argv); + SuitePredicate predicate; + ArgumentsReader arguments(argc, argv); + PredicateCmdBuilder::fillSuitePredicate(arguments, predicate); + TestReporterStdout reporter; TestRunner runner(reporter); - - return runner.RunTestsIf(Test::GetTestList(), 0, suiteCmd.buildPredicate(), 0); + return runner.RunTestsIf(Test::GetTestList(), 0, predicate, 0); } TestRunner::TestRunner(TestReporter& reporter)