diff --git a/Makefile b/Makefile index 1389ae2..c6fb70f 100644 --- a/Makefile +++ b/Makefile @@ -1,6 +1,6 @@ EXE_FILE:=patexp -SRC_FILES:= Expander.o -MAIN_FILE:= main.o Helpers.o +SRC_FILES:= Expander.o Helpers.o +MAIN_FILE:= main.o TEST_FILES:= TestExpander.o # Build directories - allows for separate release and debug executables diff --git a/test/TestExpander.cpp b/test/TestExpander.cpp index cca7bcc..b60c7b5 100644 --- a/test/TestExpander.cpp +++ b/test/TestExpander.cpp @@ -4,6 +4,7 @@ #include #include "Expander.h" +#include "Helpers.h" using namespace ::testing; using namespace std; @@ -902,6 +903,45 @@ TEST_F(TestExpander, testSaveConfig) } +TEST_F(TestExpander, testSetConfig) +{ + string configFileName = std::tmpnam(nullptr); + + string args = R"(-e # -r > -b { -n } -q ^)"; + stringstream ss(args); + vector temp; + string item; + while (ss >> item) + temp.push_back(item); + + char** argv = new char*[temp.size()]; + for (size_t i = 0; i < temp.size(); i++) + { + argv[i] = new char[temp[i].length()]; + strcpy(argv[i], temp[i].c_str()); + } + + setConfig(temp.size(), argv, configFileName); + + //Load the alt config file. All settings will change + underTest.loadConfig(configFileName); + + ASSERT_EQ(underTest.getEscChar(), L'#'); + ASSERT_EQ(underTest.getGroupBegin(), L'{'); + ASSERT_EQ(underTest.getGroupEnd(), L'}'); + ASSERT_EQ(underTest.getRangeChar(), L'>'); + ASSERT_EQ(underTest.getQuote(), L'^'); + + + for (size_t i = 0; i < temp.size(); i++) + { + delete argv[i]; + } + delete [] argv; + + +} + int main(int argc, char **argv)