mirror of
https://github.com/KeqingMoe/argparse.git
synced 2025-07-04 07:04:39 +00:00
Add corresponding tests for required arguments
This commit is contained in:
parent
aba9b10101
commit
34165a8ed7
45
test/test_required_arguments.hpp
Normal file
45
test/test_required_arguments.hpp
Normal file
@ -0,0 +1,45 @@
|
||||
#pragma once
|
||||
#include <catch.hpp>
|
||||
#include <argparse.hpp>
|
||||
|
||||
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");
|
||||
}
|
Loading…
Reference in New Issue
Block a user