From 34165a8ed78e752eeb0798ec89c136cf0451ce40 Mon Sep 17 00:00:00 2001 From: Mio Date: Wed, 7 Aug 2019 19:53:35 +0800 Subject: [PATCH 1/3] Add corresponding tests for required arguments --- test/test_required_arguments.hpp | 45 ++++++++++++++++++++++++++++++++ 1 file changed, 45 insertions(+) create mode 100644 test/test_required_arguments.hpp diff --git a/test/test_required_arguments.hpp b/test/test_required_arguments.hpp new file mode 100644 index 0000000..ffb45a9 --- /dev/null +++ b/test/test_required_arguments.hpp @@ -0,0 +1,45 @@ +#pragma once +#include +#include + +TEST_CASE("Parse required arguments which is not set and doesn't have default value.", "[required_arguments]") { + argparse::ArgumentParser program("test"); + program.add_argument("--output", "-o").required(); + REQUIRE_THROWS(program.parse_args({ "./main" })); +} + +TEST_CASE("Parse required arguments without default value which is set as empty value and doesn't have default value.", "[required_arguments]") { + argparse::ArgumentParser program("test"); + program.add_argument("--output", "-o").required(); + REQUIRE_THROWS(program.parse_args({ "./main", "-o" })); +} + +TEST_CASE("Parse required arguments without default value which is set as some value and doesn't have default value.", "[required_arguments]") { + argparse::ArgumentParser program("test"); + program.add_argument("--output", "-o").required(); + program.parse_args({ "./main", "-o", "filename" }); + REQUIRE(program.get("--output") == "filename"); + REQUIRE(program.get("-o") == "filename"); +} + +TEST_CASE("Parse required arguments which is not set and has default value.", "[required_arguments]") { + argparse::ArgumentParser program("test"); + program.add_argument("--output", "-o").required().default_value(std::string("filename")); + program.parse_args({ "./main" }); + REQUIRE(program.get("--output") == "filename"); + REQUIRE(program.get("-o") == "filename"); +} + +TEST_CASE("Parse required arguments without default value which is set as empty and has default value.", "[required_arguments]") { + argparse::ArgumentParser program("test"); + program.add_argument("--output", "-o").required().default_value(std::string("filename")); + REQUIRE_THROWS(program.parse_args({ "./main", "-o" })); +} + +TEST_CASE("Parse required arguments without default value which is set as some value and has default value.", "[required_arguments]") { + argparse::ArgumentParser program("test"); + program.add_argument("--output", "-o").required().default_value(std::string("filename")); + program.parse_args({ "./main", "-o", "anotherfile" }); + REQUIRE(program.get("--output") == "anotherfile"); + REQUIRE(program.get("-o") == "anotherfile"); +} \ No newline at end of file From 466e3aa37c08bc2416440d464e93d78a5fd7d45a Mon Sep 17 00:00:00 2001 From: Mio Date: Wed, 7 Aug 2019 19:58:25 +0800 Subject: [PATCH 2/3] Include new tests --- test/main.cpp | 1 + 1 file changed, 1 insertion(+) diff --git a/test/main.cpp b/test/main.cpp index 2885d40..8d9aa37 100644 --- a/test/main.cpp +++ b/test/main.cpp @@ -10,3 +10,4 @@ #include #include #include +#include \ No newline at end of file From 3c7fcad1465e5c250631488c5071e448632349ab Mon Sep 17 00:00:00 2001 From: Mio Date: Wed, 7 Aug 2019 19:58:32 +0800 Subject: [PATCH 3/3] Fix typo --- test/test_required_arguments.hpp | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/test/test_required_arguments.hpp b/test/test_required_arguments.hpp index ffb45a9..f9ac26e 100644 --- a/test/test_required_arguments.hpp +++ b/test/test_required_arguments.hpp @@ -2,19 +2,19 @@ #include #include -TEST_CASE("Parse required arguments which is not set and doesn't have default value.", "[required_arguments]") { +TEST_CASE("Parse required arguments which are not set and don't have default value.", "[required_arguments]") { argparse::ArgumentParser program("test"); program.add_argument("--output", "-o").required(); REQUIRE_THROWS(program.parse_args({ "./main" })); } -TEST_CASE("Parse required arguments without default value which is set as empty value and doesn't have default value.", "[required_arguments]") { +TEST_CASE("Parse required arguments which are set as empty value and don't have default value.", "[required_arguments]") { argparse::ArgumentParser program("test"); program.add_argument("--output", "-o").required(); REQUIRE_THROWS(program.parse_args({ "./main", "-o" })); } -TEST_CASE("Parse required arguments without default value which is set as some value and doesn't have default value.", "[required_arguments]") { +TEST_CASE("Parse required arguments which are set as some value and don't have default value.", "[required_arguments]") { argparse::ArgumentParser program("test"); program.add_argument("--output", "-o").required(); program.parse_args({ "./main", "-o", "filename" }); @@ -22,7 +22,7 @@ TEST_CASE("Parse required arguments without default value which is set as some v REQUIRE(program.get("-o") == "filename"); } -TEST_CASE("Parse required arguments which is not set and has default value.", "[required_arguments]") { +TEST_CASE("Parse required arguments which are not set and have default value.", "[required_arguments]") { argparse::ArgumentParser program("test"); program.add_argument("--output", "-o").required().default_value(std::string("filename")); program.parse_args({ "./main" }); @@ -30,13 +30,13 @@ TEST_CASE("Parse required arguments which is not set and has default value.", "[ REQUIRE(program.get("-o") == "filename"); } -TEST_CASE("Parse required arguments without default value which is set as empty and has default value.", "[required_arguments]") { +TEST_CASE("Parse required arguments which are set as empty and have default value.", "[required_arguments]") { argparse::ArgumentParser program("test"); program.add_argument("--output", "-o").required().default_value(std::string("filename")); REQUIRE_THROWS(program.parse_args({ "./main", "-o" })); } -TEST_CASE("Parse required arguments without default value which is set as some value and has default value.", "[required_arguments]") { +TEST_CASE("Parse required arguments which are set as some value and have default value.", "[required_arguments]") { argparse::ArgumentParser program("test"); program.add_argument("--output", "-o").required().default_value(std::string("filename")); program.parse_args({ "./main", "-o", "anotherfile" });