diff options
Diffstat (limited to 'test.cxx')
-rw-r--r-- | test.cxx | 21 |
1 files changed, 10 insertions, 11 deletions
@@ -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); } |