aboutsummaryrefslogtreecommitdiff
path: root/test.cxx
diff options
context:
space:
mode:
authorTaylor C. Richberger <Taywee@gmx.com>2016-05-11 20:40:18 -0600
committerTaylor C. Richberger <Taywee@gmx.com>2016-05-11 20:40:18 -0600
commitb8870fac3ab825d7d3b42483321f6ba32b67ec8f (patch)
tree5ef1c18abcfddabea96f4a3fab6a8c593d123514 /test.cxx
parentadd mapping flag, throw maperror, ensure throwing works properly (diff)
downloadargs.hxx-b8870fac3ab825d7d3b42483321f6ba32b67ec8f.tar.xz
finish mapping types
Diffstat (limited to 'test.cxx')
-rw-r--r--test.cxx21
1 files changed, 10 insertions, 11 deletions
diff --git a/test.cxx b/test.cxx
index bcccdf4..b28a378 100644
--- a/test.cxx
+++ b/test.cxx
@@ -375,22 +375,21 @@ TEST_CASE("Mapping types work as needed", "[args]")
args::MapFlag<std::string, MappingEnum> dmf(parser, "DMF", "Maps string to an enum", args::Matcher{"dmf"}, map);
args::MapFlag<std::string, MappingEnum> mf(parser, "MF", "Maps string to an enum", args::Matcher{"mf"}, map);
args::MapFlag<std::string, MappingEnum, ToLowerReader> cimf(parser, "CIMF", "Maps string to an enum case-insensitively", args::Matcher{"cimf"}, map);
- //args::MapFlagList<std::string, MappingEnum> mfl(parser, "MFL", "Maps string to an enum list", args::Matcher{"mfl"}, map);
- //args::MapPositional<std::string, MappingEnum> mp(parser, "MP", "Maps string to an enum", args::Matcher{"mp"}, map);
- //args::MapPositionalList<std::string, MappingEnum> mpl(parser, "MPL", "Maps string to an enum list", args::Matcher{"mpl"}, map);
- //parser.ParseArgs(std::vector<std::string>{"--mf=red", "--cimf=YeLLoW", "--mfl=bar", "foo", "--mfl=green", "red", "--mfl", "bar", "default"});
- parser.ParseArgs(std::vector<std::string>{"--mf=red", "--cimf=YeLLoW"});
+ args::MapFlagList<std::string, MappingEnum> mfl(parser, "MFL", "Maps string to an enum list", args::Matcher{"mfl"}, map);
+ args::MapPositional<std::string, MappingEnum> mp(parser, "MP", "Maps string to an enum", map);
+ args::MapPositionalList<std::string, MappingEnum> mpl(parser, "MPL", "Maps string to an enum list", map);
+ parser.ParseArgs(std::vector<std::string>{"--mf=red", "--cimf=YeLLoW", "--mfl=bar", "foo", "--mfl=green", "red", "--mfl", "bar", "default"});
REQUIRE_FALSE(dmf);
REQUIRE(args::get(dmf) == MappingEnum::def);
REQUIRE(mf);
REQUIRE(args::get(mf) == MappingEnum::red);
REQUIRE(cimf);
REQUIRE(args::get(cimf) == MappingEnum::yellow);
- //REQUIRE(mfl);
- //REQUIRE(args::get(mfl) == std::vector<MappingEnum>{MappingEnum::bar, MappingEnum::green, MappingEnum::bar});
- //REQUIRE(mp);
- //REQUIRE(args::get(mp) == MappingEnum::foo);
- //REQUIRE(mpl);
- //REQUIRE(args::get(mpl) == std::vector<MappingEnum>{MappingEnum::red, MappingEnum::def});
+ REQUIRE(mfl);
+ REQUIRE((args::get(mfl) == std::vector<MappingEnum>{MappingEnum::bar, MappingEnum::green, MappingEnum::bar}));
+ REQUIRE(mp);
+ REQUIRE((args::get(mp) == MappingEnum::foo));
+ REQUIRE(mpl);
+ REQUIRE((args::get(mpl) == std::vector<MappingEnum>{MappingEnum::red, MappingEnum::def}));
REQUIRE_THROWS_AS(parser.ParseArgs(std::vector<std::string>{"--mf=YeLLoW"}), args::MapError);
}