From 7bbde0defbdcf776c608fe1296623032fa7ebb89 Mon Sep 17 00:00:00 2001 From: Pranav Srinivas Kumar Date: Sat, 4 Nov 2023 15:24:07 -0500 Subject: [PATCH] Added unit test for 2 mutex_groups --- test/test_mutually_exclusive_group.cpp | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) diff --git a/test/test_mutually_exclusive_group.cpp b/test/test_mutually_exclusive_group.cpp index b1162e3..28c6bec 100644 --- a/test/test_mutually_exclusive_group.cpp +++ b/test/test_mutually_exclusive_group.cpp @@ -51,4 +51,21 @@ TEST_CASE("Create mutually exclusive group with 3 arguments" * program.parse_args({"test", "--first", "1", "--third", "2"}), "Argument '--third VAR' not allowed with '--first VAR'", std::runtime_error); +} + +TEST_CASE("Create two mutually exclusive groups" * test_suite("mutex_args")) { + argparse::ArgumentParser program("test"); + + auto &group_1 = program.add_mutually_exclusive_group(); + group_1.add_argument("--first"); + group_1.add_argument("--second"); + group_1.add_argument("--third"); + + auto &group_2 = program.add_mutually_exclusive_group(); + group_2.add_argument("-a"); + group_2.add_argument("-b"); + + REQUIRE_THROWS_WITH_AS( + program.parse_args({"test", "--first", "1", "-a", "2", "-b", "3"}), + "Argument '-b VAR' not allowed with '-a VAR'", std::runtime_error); } \ No newline at end of file