From 7ed952f4fec9d09abf8939acfdf195ba6289e430 Mon Sep 17 00:00:00 2001 From: Sean Robinson Date: Tue, 17 Jan 2023 13:23:19 -0700 Subject: [PATCH] Add test for ArgumentParser::get() with inappropriate type Signed-off-by: Sean Robinson --- test/test_get.cpp | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/test/test_get.cpp b/test/test_get.cpp index 9cc046c..ad719b0 100644 --- a/test/test_get.cpp +++ b/test/test_get.cpp @@ -33,3 +33,10 @@ TEST_CASE("Implicit argument" * test_suite("ArgumentParser::get")) { REQUIRE_THROWS_WITH_AS(program.get("--stuff"), "No value provided for '--stuff'.", std::logic_error); } + +TEST_CASE("Mismatched type for argument" * test_suite("ArgumentParser::get")) { + argparse::ArgumentParser program("test"); + program.add_argument("-s", "--stuff"); // as default type, a std::string + REQUIRE_NOTHROW(program.parse_args({"test", "-s", "321"})); + REQUIRE_THROWS_AS(program.get("--stuff"), std::bad_any_cast); +}