Changeset View
Changeset View
Standalone View
Standalone View
src/test/getarg_tests.cpp
Show First 20 Lines • Show All 42 Lines • ▼ Show 20 Lines | SetupArgs(ArgsManager &am, | ||||
am.ClearArgs(); | am.ClearArgs(); | ||||
for (const auto &arg : args) { | for (const auto &arg : args) { | ||||
am.AddArg(arg.first, "", arg.second, OptionsCategory::OPTIONS); | am.AddArg(arg.first, "", arg.second, OptionsCategory::OPTIONS); | ||||
} | } | ||||
} | } | ||||
BOOST_AUTO_TEST_CASE(boolarg) { | BOOST_AUTO_TEST_CASE(boolarg) { | ||||
ArgsManager am; | ArgsManager am; | ||||
const auto foo = std::make_pair("-foo", ArgsManager::ALLOW_BOOL); | const auto foo = std::make_pair("-foo", ArgsManager::ALLOW_ANY); | ||||
SetupArgs(am, {foo}); | SetupArgs(am, {foo}); | ||||
ResetArgs(am, "-foo"); | ResetArgs(am, "-foo"); | ||||
BOOST_CHECK(am.GetBoolArg("-foo", false)); | BOOST_CHECK(am.GetBoolArg("-foo", false)); | ||||
BOOST_CHECK(am.GetBoolArg("-foo", true)); | BOOST_CHECK(am.GetBoolArg("-foo", true)); | ||||
BOOST_CHECK(!am.GetBoolArg("-fo", false)); | BOOST_CHECK(!am.GetBoolArg("-fo", false)); | ||||
BOOST_CHECK(am.GetBoolArg("-fo", true)); | BOOST_CHECK(am.GetBoolArg("-fo", true)); | ||||
Show All 39 Lines | BOOST_AUTO_TEST_CASE(boolarg) { | ||||
ResetArgs(am, "--nofoo=1"); | ResetArgs(am, "--nofoo=1"); | ||||
BOOST_CHECK(!am.GetBoolArg("-foo", false)); | BOOST_CHECK(!am.GetBoolArg("-foo", false)); | ||||
BOOST_CHECK(!am.GetBoolArg("-foo", true)); | BOOST_CHECK(!am.GetBoolArg("-foo", true)); | ||||
} | } | ||||
BOOST_AUTO_TEST_CASE(stringarg) { | BOOST_AUTO_TEST_CASE(stringarg) { | ||||
ArgsManager am; | ArgsManager am; | ||||
const auto foo = std::make_pair("-foo", ArgsManager::ALLOW_STRING); | const auto foo = std::make_pair("-foo", ArgsManager::ALLOW_ANY); | ||||
const auto bar = std::make_pair("-bar", ArgsManager::ALLOW_STRING); | const auto bar = std::make_pair("-bar", ArgsManager::ALLOW_ANY); | ||||
SetupArgs(am, {foo, bar}); | SetupArgs(am, {foo, bar}); | ||||
ResetArgs(am, ""); | ResetArgs(am, ""); | ||||
BOOST_CHECK_EQUAL(am.GetArg("-foo", ""), ""); | BOOST_CHECK_EQUAL(am.GetArg("-foo", ""), ""); | ||||
BOOST_CHECK_EQUAL(am.GetArg("-foo", "eleven"), "eleven"); | BOOST_CHECK_EQUAL(am.GetArg("-foo", "eleven"), "eleven"); | ||||
ResetArgs(am, "-foo -bar"); | ResetArgs(am, "-foo -bar"); | ||||
BOOST_CHECK_EQUAL(am.GetArg("-foo", ""), ""); | BOOST_CHECK_EQUAL(am.GetArg("-foo", ""), ""); | ||||
BOOST_CHECK_EQUAL(am.GetArg("-foo", "eleven"), ""); | BOOST_CHECK_EQUAL(am.GetArg("-foo", "eleven"), ""); | ||||
ResetArgs(am, "-foo="); | ResetArgs(am, "-foo="); | ||||
BOOST_CHECK_EQUAL(am.GetArg("-foo", ""), ""); | BOOST_CHECK_EQUAL(am.GetArg("-foo", ""), ""); | ||||
BOOST_CHECK_EQUAL(am.GetArg("-foo", "eleven"), ""); | BOOST_CHECK_EQUAL(am.GetArg("-foo", "eleven"), ""); | ||||
ResetArgs(am, "-foo=11"); | ResetArgs(am, "-foo=11"); | ||||
BOOST_CHECK_EQUAL(am.GetArg("-foo", ""), "11"); | BOOST_CHECK_EQUAL(am.GetArg("-foo", ""), "11"); | ||||
BOOST_CHECK_EQUAL(am.GetArg("-foo", "eleven"), "11"); | BOOST_CHECK_EQUAL(am.GetArg("-foo", "eleven"), "11"); | ||||
ResetArgs(am, "-foo=eleven"); | ResetArgs(am, "-foo=eleven"); | ||||
BOOST_CHECK_EQUAL(am.GetArg("-foo", ""), "eleven"); | BOOST_CHECK_EQUAL(am.GetArg("-foo", ""), "eleven"); | ||||
BOOST_CHECK_EQUAL(am.GetArg("-foo", "eleven"), "eleven"); | BOOST_CHECK_EQUAL(am.GetArg("-foo", "eleven"), "eleven"); | ||||
} | } | ||||
BOOST_AUTO_TEST_CASE(intarg) { | BOOST_AUTO_TEST_CASE(intarg) { | ||||
ArgsManager am; | ArgsManager am; | ||||
const auto foo = std::make_pair("-foo", ArgsManager::ALLOW_INT); | const auto foo = std::make_pair("-foo", ArgsManager::ALLOW_ANY); | ||||
const auto bar = std::make_pair("-bar", ArgsManager::ALLOW_INT); | const auto bar = std::make_pair("-bar", ArgsManager::ALLOW_ANY); | ||||
SetupArgs(am, {foo, bar}); | SetupArgs(am, {foo, bar}); | ||||
ResetArgs(am, ""); | ResetArgs(am, ""); | ||||
BOOST_CHECK_EQUAL(am.GetArg("-foo", 11), 11); | BOOST_CHECK_EQUAL(am.GetArg("-foo", 11), 11); | ||||
BOOST_CHECK_EQUAL(am.GetArg("-foo", 0), 0); | BOOST_CHECK_EQUAL(am.GetArg("-foo", 0), 0); | ||||
ResetArgs(am, "-foo -bar"); | ResetArgs(am, "-foo -bar"); | ||||
BOOST_CHECK_EQUAL(am.GetArg("-foo", 11), 0); | BOOST_CHECK_EQUAL(am.GetArg("-foo", 11), 0); | ||||
BOOST_CHECK_EQUAL(am.GetArg("-bar", 11), 0); | BOOST_CHECK_EQUAL(am.GetArg("-bar", 11), 0); | ||||
Show All 17 Lines | BOOST_AUTO_TEST_CASE(doubledash) { | ||||
ResetArgs(am, "--foo=verbose --bar=1"); | ResetArgs(am, "--foo=verbose --bar=1"); | ||||
BOOST_CHECK_EQUAL(am.GetArg("-foo", ""), "verbose"); | BOOST_CHECK_EQUAL(am.GetArg("-foo", ""), "verbose"); | ||||
BOOST_CHECK_EQUAL(am.GetArg("-bar", 0), 1); | BOOST_CHECK_EQUAL(am.GetArg("-bar", 0), 1); | ||||
} | } | ||||
BOOST_AUTO_TEST_CASE(boolargno) { | BOOST_AUTO_TEST_CASE(boolargno) { | ||||
ArgsManager am; | ArgsManager am; | ||||
const auto foo = std::make_pair("-foo", ArgsManager::ALLOW_BOOL); | const auto foo = std::make_pair("-foo", ArgsManager::ALLOW_ANY); | ||||
const auto bar = std::make_pair("-bar", ArgsManager::ALLOW_BOOL); | const auto bar = std::make_pair("-bar", ArgsManager::ALLOW_ANY); | ||||
SetupArgs(am, {foo, bar}); | SetupArgs(am, {foo, bar}); | ||||
ResetArgs(am, "-nofoo"); | ResetArgs(am, "-nofoo"); | ||||
BOOST_CHECK(!am.GetBoolArg("-foo", true)); | BOOST_CHECK(!am.GetBoolArg("-foo", true)); | ||||
BOOST_CHECK(!am.GetBoolArg("-foo", false)); | BOOST_CHECK(!am.GetBoolArg("-foo", false)); | ||||
ResetArgs(am, "-nofoo=1"); | ResetArgs(am, "-nofoo=1"); | ||||
BOOST_CHECK(!am.GetBoolArg("-foo", true)); | BOOST_CHECK(!am.GetBoolArg("-foo", true)); | ||||
BOOST_CHECK(!am.GetBoolArg("-foo", false)); | BOOST_CHECK(!am.GetBoolArg("-foo", false)); | ||||
Show All 17 Lines |