diff --git a/tests/OptionalTest.cpp b/tests/OptionalTest.cpp index 305f4274..b67e4ade 100644 --- a/tests/OptionalTest.cpp +++ b/tests/OptionalTest.cpp @@ -3,10 +3,10 @@ #include "app_helper.hpp" -#ifdef CLI11_OPTIONAL +#ifdef CLI11_STD_OPTIONAL -TEST_F(TApp, OptionalTest) { - CLI::optional opt; +TEST_F(TApp, StdOptionalTest) { + std::optional opt; app.add_option("-c,--count", opt); run(); EXPECT_FALSE(opt); @@ -24,8 +24,52 @@ TEST_F(TApp, OptionalTest) { EXPECT_EQ(*opt, 3); } -#else +#endif +#ifdef CLI11_EXPERIMENTAL_OPTIONAL -TEST_F(TApp, DISABLED_OptionalTest) {} +TEST_F(TApp, ExperimentalOptionalTest) { + std::experimental::optional opt; + app.add_option("-c,--count", opt); + run(); + EXPECT_FALSE(opt); + + app.reset(); + args = {"-c", "1"}; + run(); + EXPECT_TRUE(opt); + EXPECT_EQ(*opt, 1); + + app.reset(); + args = {"--count", "3"}; + run(); + EXPECT_TRUE(opt); + EXPECT_EQ(*opt, 3); +} #endif +#ifdef CLI11_BOOST_OPTIONAL + +TEST_F(TApp, BoostOptionalTest) { + boost::optional opt; + app.add_option("-c,--count", opt); + run(); + EXPECT_FALSE(opt); + + app.reset(); + args = {"-c", "1"}; + run(); + EXPECT_TRUE(opt); + EXPECT_EQ(*opt, 1); + + app.reset(); + args = {"--count", "3"}; + run(); + EXPECT_TRUE(opt); + EXPECT_EQ(*opt, 3); +} + +#endif + +#ifndef CLI11_OPTIONAL +TEST_F(TApp, DISABLED_OptionalTest) {} +#endif