Changeset View
Changeset View
Standalone View
Standalone View
src/test/util_tests.cpp
Show First 20 Lines • Show All 164 Lines • ▼ Show 20 Lines | BOOST_AUTO_TEST_CASE(util_FormatISO8601Date) { | ||||
BOOST_CHECK_EQUAL(FormatISO8601Date(1317425777), "2011-09-30"); | BOOST_CHECK_EQUAL(FormatISO8601Date(1317425777), "2011-09-30"); | ||||
} | } | ||||
BOOST_AUTO_TEST_CASE(util_FormatISO8601Time) { | BOOST_AUTO_TEST_CASE(util_FormatISO8601Time) { | ||||
BOOST_CHECK_EQUAL(FormatISO8601Time(1317425777), "23:36:17Z"); | BOOST_CHECK_EQUAL(FormatISO8601Time(1317425777), "23:36:17Z"); | ||||
} | } | ||||
struct TestArgsManager : public ArgsManager { | struct TestArgsManager : public ArgsManager { | ||||
std::map<std::string, std::string> &GetMapArgs() { return mapArgs; } | std::map<std::string, std::vector<std::string>> &GetOverrideArgs() { | ||||
std::map<std::string, std::vector<std::string>> &GetMapMultiArgs() { | return m_override_args; | ||||
return mapMultiArgs; | } | ||||
std::map<std::string, std::vector<std::string>> &GetConfigArgs() { | |||||
return m_config_args; | |||||
} | } | ||||
const std::unordered_set<std::string> &GetNegatedArgs() { | const std::unordered_set<std::string> &GetNegatedArgs() { | ||||
return m_negated_args; | return m_negated_args; | ||||
} | } | ||||
void ReadConfigString(const std::string str_config) { | void ReadConfigString(const std::string str_config) { | ||||
std::istringstream stream(str_config); | std::istringstream streamConfig(str_config); | ||||
ReadConfigStream(stream); | { | ||||
LOCK(cs_args); | |||||
m_config_args.clear(); | |||||
} | |||||
ReadConfigStream(streamConfig); | |||||
} | } | ||||
}; | }; | ||||
BOOST_AUTO_TEST_CASE(util_ParseParameters) { | BOOST_AUTO_TEST_CASE(util_ParseParameters) { | ||||
TestArgsManager testArgs; | TestArgsManager testArgs; | ||||
const char *argv_test[] = {"-ignored", "-a", "-b", "-ccc=argument", | const char *argv_test[] = {"-ignored", "-a", "-b", "-ccc=argument", | ||||
"-ccc=multiple", "f", "-d=e"}; | "-ccc=multiple", "f", "-d=e"}; | ||||
testArgs.ParseParameters(0, (char **)argv_test); | testArgs.ParseParameters(0, (char **)argv_test); | ||||
BOOST_CHECK(testArgs.GetMapArgs().empty() && | BOOST_CHECK(testArgs.GetOverrideArgs().empty() && | ||||
testArgs.GetMapMultiArgs().empty()); | testArgs.GetConfigArgs().empty()); | ||||
testArgs.ParseParameters(1, (char **)argv_test); | testArgs.ParseParameters(1, (char **)argv_test); | ||||
BOOST_CHECK(testArgs.GetMapArgs().empty() && | BOOST_CHECK(testArgs.GetOverrideArgs().empty() && | ||||
testArgs.GetMapMultiArgs().empty()); | testArgs.GetConfigArgs().empty()); | ||||
testArgs.ParseParameters(5, (char **)argv_test); | testArgs.ParseParameters(5, (char **)argv_test); | ||||
// expectation: -ignored is ignored (program name argument), | // expectation: -ignored is ignored (program name argument), | ||||
// -a, -b and -ccc end up in map, -d ignored because it is after | // -a, -b and -ccc end up in map, -d ignored because it is after | ||||
// a non-option argument (non-GNU option parsing) | // a non-option argument (non-GNU option parsing) | ||||
BOOST_CHECK(testArgs.GetMapArgs().size() == 3 && | BOOST_CHECK(testArgs.GetOverrideArgs().size() == 3 && | ||||
testArgs.GetMapMultiArgs().size() == 3); | testArgs.GetConfigArgs().empty()); | ||||
BOOST_CHECK(testArgs.IsArgSet("-a") && testArgs.IsArgSet("-b") && | BOOST_CHECK(testArgs.IsArgSet("-a") && testArgs.IsArgSet("-b") && | ||||
testArgs.IsArgSet("-ccc") && !testArgs.IsArgSet("f") && | testArgs.IsArgSet("-ccc") && !testArgs.IsArgSet("f") && | ||||
!testArgs.IsArgSet("-d")); | !testArgs.IsArgSet("-d")); | ||||
BOOST_CHECK(testArgs.GetMapMultiArgs().count("-a") && | BOOST_CHECK(testArgs.GetOverrideArgs().count("-a") && | ||||
testArgs.GetMapMultiArgs().count("-b") && | testArgs.GetOverrideArgs().count("-b") && | ||||
testArgs.GetMapMultiArgs().count("-ccc") && | testArgs.GetOverrideArgs().count("-ccc") && | ||||
!testArgs.GetMapMultiArgs().count("f") && | !testArgs.GetOverrideArgs().count("f") && | ||||
!testArgs.GetMapMultiArgs().count("-d")); | !testArgs.GetOverrideArgs().count("-d")); | ||||
BOOST_CHECK(testArgs.GetMapArgs()["-a"] == "" && | BOOST_CHECK(testArgs.GetOverrideArgs()["-a"].size() == 1); | ||||
testArgs.GetMapArgs()["-ccc"] == "multiple"); | BOOST_CHECK(testArgs.GetOverrideArgs()["-a"].front() == ""); | ||||
BOOST_CHECK(testArgs.GetOverrideArgs()["-ccc"].size() == 2); | |||||
BOOST_CHECK(testArgs.GetOverrideArgs()["-ccc"].front() == "argument"); | |||||
BOOST_CHECK(testArgs.GetOverrideArgs()["-ccc"].back() == "multiple"); | |||||
BOOST_CHECK(testArgs.GetArgs("-ccc").size() == 2); | BOOST_CHECK(testArgs.GetArgs("-ccc").size() == 2); | ||||
} | } | ||||
BOOST_AUTO_TEST_CASE(util_GetBoolArg) { | BOOST_AUTO_TEST_CASE(util_GetBoolArg) { | ||||
TestArgsManager testArgs; | TestArgsManager testArgs; | ||||
const char *argv_test[] = {"ignored", "-a", "-nob", "-c=0", | const char *argv_test[] = {"ignored", "-a", "-nob", "-c=0", | ||||
"-d=1", "-e=false", "-f=true"}; | "-d=1", "-e=false", "-f=true"}; | ||||
testArgs.ParseParameters(7, (char **)argv_test); | testArgs.ParseParameters(7, (char **)argv_test); | ||||
// Each letter should be set. | // Each letter should be set. | ||||
for (char opt : "abcdef") { | for (char opt : "abcdef") { | ||||
BOOST_CHECK(testArgs.IsArgSet({'-', opt}) || !opt); | BOOST_CHECK(testArgs.IsArgSet({'-', opt}) || !opt); | ||||
} | } | ||||
// Nothing else should be in the map | // Nothing else should be in the map | ||||
BOOST_CHECK(testArgs.GetMapArgs().size() == 6 && | BOOST_CHECK(testArgs.GetOverrideArgs().size() == 6 && | ||||
testArgs.GetMapMultiArgs().size() == 6); | testArgs.GetConfigArgs().empty()); | ||||
// The -no prefix should get stripped on the way in. | // The -no prefix should get stripped on the way in. | ||||
BOOST_CHECK(!testArgs.IsArgSet("-nob")); | BOOST_CHECK(!testArgs.IsArgSet("-nob")); | ||||
// The -b option is flagged as negated, and nothing else is | // The -b option is flagged as negated, and nothing else is | ||||
BOOST_CHECK(testArgs.IsArgNegated("-b")); | BOOST_CHECK(testArgs.IsArgNegated("-b")); | ||||
BOOST_CHECK(testArgs.GetNegatedArgs().size() == 1); | BOOST_CHECK(testArgs.GetNegatedArgs().size() == 1); | ||||
BOOST_CHECK(!testArgs.IsArgNegated("-a")); | BOOST_CHECK(!testArgs.IsArgNegated("-a")); | ||||
▲ Show 20 Lines • Show All 71 Lines • ▼ Show 20 Lines | const char *str_config = "a=\n" | ||||
"noi=1\n" | "noi=1\n" | ||||
"i=1\n"; | "i=1\n"; | ||||
TestArgsManager test_args; | TestArgsManager test_args; | ||||
test_args.ReadConfigString(str_config); | test_args.ReadConfigString(str_config); | ||||
// expectation: a, b, ccc, d, fff, ggg, h, i end up in map | // expectation: a, b, ccc, d, fff, ggg, h, i end up in map | ||||
BOOST_CHECK(test_args.GetMapArgs().size() == 8); | BOOST_CHECK(test_args.GetOverrideArgs().empty()); | ||||
BOOST_CHECK(test_args.GetMapMultiArgs().size() == 8); | BOOST_CHECK(test_args.GetConfigArgs().size() == 8); | ||||
BOOST_CHECK(test_args.GetMapArgs().count("-a") && | BOOST_CHECK(test_args.GetConfigArgs().count("-a") && | ||||
test_args.GetMapArgs().count("-b") && | test_args.GetConfigArgs().count("-b") && | ||||
test_args.GetMapArgs().count("-ccc") && | test_args.GetConfigArgs().count("-ccc") && | ||||
test_args.GetMapArgs().count("-d") && | test_args.GetConfigArgs().count("-d") && | ||||
test_args.GetMapArgs().count("-fff") && | test_args.GetConfigArgs().count("-fff") && | ||||
test_args.GetMapArgs().count("-ggg") && | test_args.GetConfigArgs().count("-ggg") && | ||||
test_args.GetMapArgs().count("-h") && | test_args.GetConfigArgs().count("-h") && | ||||
test_args.GetMapArgs().count("-i")); | test_args.GetConfigArgs().count("-i")); | ||||
BOOST_CHECK(test_args.IsArgSet("-a") && test_args.IsArgSet("-b") && | BOOST_CHECK(test_args.IsArgSet("-a") && test_args.IsArgSet("-b") && | ||||
test_args.IsArgSet("-ccc") && test_args.IsArgSet("-d") && | test_args.IsArgSet("-ccc") && test_args.IsArgSet("-d") && | ||||
test_args.IsArgSet("-fff") && test_args.IsArgSet("-ggg") && | test_args.IsArgSet("-fff") && test_args.IsArgSet("-ggg") && | ||||
test_args.IsArgSet("-h") && test_args.IsArgSet("-i") && | test_args.IsArgSet("-h") && test_args.IsArgSet("-i") && | ||||
!test_args.IsArgSet("-zzz")); | !test_args.IsArgSet("-zzz")); | ||||
BOOST_CHECK(test_args.GetArg("-a", "xxx") == "" && | BOOST_CHECK(test_args.GetArg("-a", "xxx") == "" && | ||||
▲ Show 20 Lines • Show All 54 Lines • ▼ Show 20 Lines | BOOST_AUTO_TEST_CASE(util_ReadConfigStream) { | ||||
BOOST_CHECK(test_args.IsArgNegated("-h")); | BOOST_CHECK(test_args.IsArgNegated("-h")); | ||||
// last setting takes precedence | // last setting takes precedence | ||||
BOOST_CHECK(!test_args.IsArgNegated("-i")); | BOOST_CHECK(!test_args.IsArgNegated("-i")); | ||||
BOOST_CHECK(!test_args.IsArgNegated("-zzz")); | BOOST_CHECK(!test_args.IsArgNegated("-zzz")); | ||||
} | } | ||||
BOOST_AUTO_TEST_CASE(util_GetArg) { | BOOST_AUTO_TEST_CASE(util_GetArg) { | ||||
TestArgsManager testArgs; | TestArgsManager testArgs; | ||||
testArgs.GetMapArgs().clear(); | testArgs.GetOverrideArgs().clear(); | ||||
testArgs.GetMapArgs()["strtest1"] = "string..."; | testArgs.GetOverrideArgs()["strtest1"] = {"string..."}; | ||||
// strtest2 undefined on purpose | // strtest2 undefined on purpose | ||||
testArgs.GetMapArgs()["inttest1"] = "12345"; | testArgs.GetOverrideArgs()["inttest1"] = {"12345"}; | ||||
testArgs.GetMapArgs()["inttest2"] = "81985529216486895"; | testArgs.GetOverrideArgs()["inttest2"] = {"81985529216486895"}; | ||||
// inttest3 undefined on purpose | // inttest3 undefined on purpose | ||||
testArgs.GetMapArgs()["booltest1"] = ""; | testArgs.GetOverrideArgs()["booltest1"] = {""}; | ||||
// booltest2 undefined on purpose | // booltest2 undefined on purpose | ||||
testArgs.GetMapArgs()["booltest3"] = "0"; | testArgs.GetOverrideArgs()["booltest3"] = {"0"}; | ||||
testArgs.GetMapArgs()["booltest4"] = "1"; | testArgs.GetOverrideArgs()["booltest4"] = {"1"}; | ||||
// priorities | |||||
testArgs.GetOverrideArgs()["pritest1"] = {"a", "b"}; | |||||
testArgs.GetConfigArgs()["pritest2"] = {"a", "b"}; | |||||
testArgs.GetOverrideArgs()["pritest3"] = {"a"}; | |||||
testArgs.GetConfigArgs()["pritest3"] = {"b"}; | |||||
testArgs.GetOverrideArgs()["pritest4"] = {"a", "b"}; | |||||
testArgs.GetConfigArgs()["pritest4"] = {"c", "d"}; | |||||
BOOST_CHECK_EQUAL(testArgs.GetArg("strtest1", "default"), "string..."); | BOOST_CHECK_EQUAL(testArgs.GetArg("strtest1", "default"), "string..."); | ||||
BOOST_CHECK_EQUAL(testArgs.GetArg("strtest2", "default"), "default"); | BOOST_CHECK_EQUAL(testArgs.GetArg("strtest2", "default"), "default"); | ||||
BOOST_CHECK_EQUAL(testArgs.GetArg("inttest1", -1), 12345); | BOOST_CHECK_EQUAL(testArgs.GetArg("inttest1", -1), 12345); | ||||
BOOST_CHECK_EQUAL(testArgs.GetArg("inttest2", -1), 81985529216486895LL); | BOOST_CHECK_EQUAL(testArgs.GetArg("inttest2", -1), 81985529216486895LL); | ||||
BOOST_CHECK_EQUAL(testArgs.GetArg("inttest3", -1), -1); | BOOST_CHECK_EQUAL(testArgs.GetArg("inttest3", -1), -1); | ||||
BOOST_CHECK_EQUAL(testArgs.GetBoolArg("booltest1", false), true); | BOOST_CHECK_EQUAL(testArgs.GetBoolArg("booltest1", false), true); | ||||
BOOST_CHECK_EQUAL(testArgs.GetBoolArg("booltest2", false), false); | BOOST_CHECK_EQUAL(testArgs.GetBoolArg("booltest2", false), false); | ||||
BOOST_CHECK_EQUAL(testArgs.GetBoolArg("booltest3", false), false); | BOOST_CHECK_EQUAL(testArgs.GetBoolArg("booltest3", false), false); | ||||
BOOST_CHECK_EQUAL(testArgs.GetBoolArg("booltest4", false), true); | BOOST_CHECK_EQUAL(testArgs.GetBoolArg("booltest4", false), true); | ||||
BOOST_CHECK_EQUAL(testArgs.GetArg("pritest1", "default"), "b"); | |||||
BOOST_CHECK_EQUAL(testArgs.GetArg("pritest2", "default"), "a"); | |||||
BOOST_CHECK_EQUAL(testArgs.GetArg("pritest3", "default"), "a"); | |||||
BOOST_CHECK_EQUAL(testArgs.GetArg("pritest4", "default"), "b"); | |||||
} | } | ||||
BOOST_AUTO_TEST_CASE(util_ClearArg) { | BOOST_AUTO_TEST_CASE(util_ClearArg) { | ||||
TestArgsManager testArgs; | TestArgsManager testArgs; | ||||
// Clear single string arg | // Clear single string arg | ||||
testArgs.GetMapArgs()["strtest1"] = "string..."; | testArgs.GetOverrideArgs()["strtest1"] = {"string..."}; | ||||
BOOST_CHECK_EQUAL(testArgs.GetArg("strtest1", "default"), "string..."); | BOOST_CHECK_EQUAL(testArgs.GetArg("strtest1", "default"), "string..."); | ||||
testArgs.ClearArg("strtest1"); | testArgs.ClearArg("strtest1"); | ||||
BOOST_CHECK_EQUAL(testArgs.GetArg("strtest1", "default"), "default"); | BOOST_CHECK_EQUAL(testArgs.GetArg("strtest1", "default"), "default"); | ||||
// Clear boolean arg | // Clear boolean arg | ||||
testArgs.GetMapArgs()["booltest1"] = "1"; | testArgs.GetOverrideArgs()["booltest1"] = {"1"}; | ||||
BOOST_CHECK_EQUAL(testArgs.GetBoolArg("booltest1", false), true); | BOOST_CHECK_EQUAL(testArgs.GetBoolArg("booltest1", false), true); | ||||
testArgs.ClearArg("booltest1"); | testArgs.ClearArg("booltest1"); | ||||
BOOST_CHECK_EQUAL(testArgs.GetArg("booltest1", false), false); | BOOST_CHECK_EQUAL(testArgs.GetArg("booltest1", false), false); | ||||
// Clear multi args only | // Clear config args only | ||||
testArgs.GetMapMultiArgs()["strtest2"].push_back("string..."); | testArgs.GetConfigArgs()["strtest2"].push_back("string..."); | ||||
testArgs.GetMapMultiArgs()["strtest2"].push_back("...gnirts"); | testArgs.GetConfigArgs()["strtest2"].push_back("...gnirts"); | ||||
BOOST_CHECK_EQUAL(testArgs.GetArg("strtest2", "default"), "default"); | |||||
BOOST_CHECK_EQUAL(testArgs.GetArgs("strtest2").size(), 2); | BOOST_CHECK_EQUAL(testArgs.GetArgs("strtest2").size(), 2); | ||||
BOOST_CHECK_EQUAL(testArgs.GetArgs("strtest2").front(), "string..."); | BOOST_CHECK_EQUAL(testArgs.GetArgs("strtest2").front(), "string..."); | ||||
BOOST_CHECK_EQUAL(testArgs.GetArgs("strtest2").back(), "...gnirts"); | BOOST_CHECK_EQUAL(testArgs.GetArgs("strtest2").back(), "...gnirts"); | ||||
testArgs.ClearArg("strtest2"); | testArgs.ClearArg("strtest2"); | ||||
BOOST_CHECK_EQUAL(testArgs.GetArg("strtest2", "default"), "default"); | BOOST_CHECK_EQUAL(testArgs.GetArg("strtest2", "default"), "default"); | ||||
BOOST_CHECK_EQUAL(testArgs.GetArgs("strtest2").size(), 0); | BOOST_CHECK_EQUAL(testArgs.GetArgs("strtest2").size(), 0); | ||||
// Clear both arg and multi args | // Clear both cli args and config args | ||||
testArgs.GetMapArgs()["strtest3"] = "string..."; | testArgs.GetOverrideArgs()["strtest3"].push_back("cli string..."); | ||||
testArgs.GetMapMultiArgs()["strtest3"].push_back("string..."); | testArgs.GetOverrideArgs()["strtest3"].push_back("...gnirts ilc"); | ||||
testArgs.GetMapMultiArgs()["strtest3"].push_back("...gnirts"); | testArgs.GetConfigArgs()["strtest3"].push_back("string..."); | ||||
BOOST_CHECK_EQUAL(testArgs.GetArg("strtest3", "default"), "string..."); | testArgs.GetConfigArgs()["strtest3"].push_back("...gnirts"); | ||||
BOOST_CHECK_EQUAL(testArgs.GetArgs("strtest3").size(), 2); | BOOST_CHECK_EQUAL(testArgs.GetArg("strtest3", "default"), "...gnirts ilc"); | ||||
BOOST_CHECK_EQUAL(testArgs.GetArgs("strtest3").front(), "string..."); | BOOST_CHECK_EQUAL(testArgs.GetArgs("strtest3").size(), 4); | ||||
BOOST_CHECK_EQUAL(testArgs.GetArgs("strtest3").front(), "cli string..."); | |||||
BOOST_CHECK_EQUAL(testArgs.GetArgs("strtest3").back(), "...gnirts"); | BOOST_CHECK_EQUAL(testArgs.GetArgs("strtest3").back(), "...gnirts"); | ||||
testArgs.ClearArg("strtest3"); | testArgs.ClearArg("strtest3"); | ||||
BOOST_CHECK_EQUAL(testArgs.GetArg("strtest3", "default"), "default"); | BOOST_CHECK_EQUAL(testArgs.GetArg("strtest3", "default"), "default"); | ||||
BOOST_CHECK_EQUAL(testArgs.GetArgs("strtest3").size(), 0); | BOOST_CHECK_EQUAL(testArgs.GetArgs("strtest3").size(), 0); | ||||
} | } | ||||
BOOST_AUTO_TEST_CASE(util_SetArg) { | BOOST_AUTO_TEST_CASE(util_SetArg) { | ||||
TestArgsManager testArgs; | TestArgsManager testArgs; | ||||
Show All 28 Lines | BOOST_AUTO_TEST_CASE(util_SetArg) { | ||||
BOOST_CHECK_EQUAL(testArgs.GetArgs("strtest2").front(), "string..."); | BOOST_CHECK_EQUAL(testArgs.GetArgs("strtest2").front(), "string..."); | ||||
testArgs.ForceSetArg("strtest2", "...gnirts"); | testArgs.ForceSetArg("strtest2", "...gnirts"); | ||||
BOOST_CHECK_EQUAL(testArgs.GetArg("strtest2", "default"), "...gnirts"); | BOOST_CHECK_EQUAL(testArgs.GetArg("strtest2", "default"), "...gnirts"); | ||||
BOOST_CHECK_EQUAL(testArgs.GetArgs("strtest2").size(), 1); | BOOST_CHECK_EQUAL(testArgs.GetArgs("strtest2").size(), 1); | ||||
BOOST_CHECK_EQUAL(testArgs.GetArgs("strtest2").front(), "...gnirts"); | BOOST_CHECK_EQUAL(testArgs.GetArgs("strtest2").front(), "...gnirts"); | ||||
// ForceSetMultiArg | // ForceSetMultiArg | ||||
testArgs.ForceSetMultiArg("strtest2", "string..."); | testArgs.ForceSetMultiArg("strtest2", "string..."); | ||||
BOOST_CHECK_EQUAL(testArgs.GetArg("strtest2", "default"), "...gnirts"); | BOOST_CHECK_EQUAL(testArgs.GetArg("strtest2", "default"), "string..."); | ||||
BOOST_CHECK_EQUAL(testArgs.GetArgs("strtest2").size(), 2); | BOOST_CHECK_EQUAL(testArgs.GetArgs("strtest2").size(), 2); | ||||
BOOST_CHECK_EQUAL(testArgs.GetArgs("strtest2").front(), "...gnirts"); | BOOST_CHECK_EQUAL(testArgs.GetArgs("strtest2").front(), "...gnirts"); | ||||
BOOST_CHECK_EQUAL(testArgs.GetArgs("strtest2").back(), "string..."); | BOOST_CHECK_EQUAL(testArgs.GetArgs("strtest2").back(), "string..."); | ||||
testArgs.ClearArg("strtest2"); | testArgs.ClearArg("strtest2"); | ||||
BOOST_CHECK_EQUAL(testArgs.GetArg("strtest2", "default"), "default"); | BOOST_CHECK_EQUAL(testArgs.GetArg("strtest2", "default"), "default"); | ||||
BOOST_CHECK_EQUAL(testArgs.GetArgs("strtest2").size(), 0); | BOOST_CHECK_EQUAL(testArgs.GetArgs("strtest2").size(), 0); | ||||
testArgs.ForceSetMultiArg("strtest2", "string..."); | testArgs.ForceSetMultiArg("strtest2", "string..."); | ||||
BOOST_CHECK_EQUAL(testArgs.GetArg("strtest2", "default"), "string..."); | BOOST_CHECK_EQUAL(testArgs.GetArg("strtest2", "default"), "string..."); | ||||
BOOST_CHECK_EQUAL(testArgs.GetArgs("strtest2").size(), 1); | BOOST_CHECK_EQUAL(testArgs.GetArgs("strtest2").size(), 1); | ||||
BOOST_CHECK_EQUAL(testArgs.GetArgs("strtest2").front(), "string..."); | BOOST_CHECK_EQUAL(testArgs.GetArgs("strtest2").front(), "string..."); | ||||
testArgs.ForceSetMultiArg("strtest2", "one more thing..."); | testArgs.ForceSetMultiArg("strtest2", "one more thing..."); | ||||
BOOST_CHECK_EQUAL(testArgs.GetArg("strtest2", "default"), "string..."); | BOOST_CHECK_EQUAL(testArgs.GetArg("strtest2", "default"), | ||||
"one more thing..."); | |||||
BOOST_CHECK_EQUAL(testArgs.GetArgs("strtest2").size(), 2); | BOOST_CHECK_EQUAL(testArgs.GetArgs("strtest2").size(), 2); | ||||
BOOST_CHECK_EQUAL(testArgs.GetArgs("strtest2").front(), "string..."); | BOOST_CHECK_EQUAL(testArgs.GetArgs("strtest2").front(), "string..."); | ||||
BOOST_CHECK_EQUAL(testArgs.GetArgs("strtest2").back(), "one more thing..."); | BOOST_CHECK_EQUAL(testArgs.GetArgs("strtest2").back(), "one more thing..."); | ||||
// If there are multi args, ForceSetArg should erase them | // If there are multi args, ForceSetArg should erase them | ||||
testArgs.ForceSetArg("strtest2", "...gnirts"); | testArgs.ForceSetArg("strtest2", "...gnirts"); | ||||
BOOST_CHECK_EQUAL(testArgs.GetArg("strtest2", "default"), "...gnirts"); | BOOST_CHECK_EQUAL(testArgs.GetArg("strtest2", "default"), "...gnirts"); | ||||
BOOST_CHECK_EQUAL(testArgs.GetArgs("strtest2").size(), 1); | BOOST_CHECK_EQUAL(testArgs.GetArgs("strtest2").size(), 1); | ||||
BOOST_CHECK_EQUAL(testArgs.GetArgs("strtest2").front(), "...gnirts"); | BOOST_CHECK_EQUAL(testArgs.GetArgs("strtest2").front(), "...gnirts"); | ||||
▲ Show 20 Lines • Show All 598 Lines • Show Last 20 Lines |