From 7745f5987abc9c8c3c0614e6d0c65def9b7de1fc Mon Sep 17 00:00:00 2001 From: Alexander Karzhenkov Date: Sun, 8 Jan 2023 17:34:59 +0500 Subject: [PATCH] More tests for optional comparisons --- tests/src/unit-optional.cpp | 28 ++++++++++++++++++++++++++++ 1 file changed, 28 insertions(+) diff --git a/tests/src/unit-optional.cpp b/tests/src/unit-optional.cpp index 58829baf6..b561f3cb4 100644 --- a/tests/src/unit-optional.cpp +++ b/tests/src/unit-optional.cpp @@ -35,6 +35,14 @@ TEST_CASE("nlohmann::optional comparison") CHECK_FALSE(nullopt == opt_int(0)); CHECK_FALSE(opt_int(0) == opt_int(1)); + CHECK(opt_int() == std_opt_int()); + CHECK(opt_int(0) == std_opt_int(0)); + CHECK_FALSE(opt_int(0) == std_opt_int(1)); + + CHECK(std_opt_int() == opt_int()); + CHECK(std_opt_int(0) == opt_int(0)); + CHECK_FALSE(std_opt_int(0) == opt_int(1)); + CHECK(opt_int(0) != nullopt); CHECK(nullopt != opt_int(0)); CHECK(opt_int(0) != opt_int(1)); @@ -43,25 +51,45 @@ TEST_CASE("nlohmann::optional comparison") CHECK_FALSE(opt_int() != opt_int(nullopt)); CHECK_FALSE(opt_int(0) != opt_int(0)); + CHECK_FALSE(opt_int() != std_opt_int()); + CHECK_FALSE(opt_int(0) != std_opt_int(0)); + CHECK(opt_int(0) != std_opt_int(1)); + + CHECK_FALSE(std_opt_int() != opt_int()); + CHECK_FALSE(std_opt_int(0) != opt_int(0)); + CHECK(std_opt_int(0) != opt_int(1)); + CHECK(opt_int(0) > nullopt); CHECK(opt_int(1) > opt_int(0)); CHECK_FALSE(nullopt > opt_int(0)); CHECK_FALSE(opt_int(0) > opt_int(1)); + CHECK(opt_int(0) > std_opt_int()); + CHECK(std_opt_int(0) > opt_int()); + CHECK(opt_int(0) >= nullopt); CHECK(opt_int(1) >= opt_int(0)); CHECK_FALSE(nullopt >= opt_int(0)); CHECK_FALSE(opt_int(0) >= opt_int(1)); + CHECK(opt_int(0) >= std_opt_int()); + CHECK(std_opt_int(0) >= opt_int()); + CHECK(nullopt < opt_int(0)); CHECK(opt_int(0) < opt_int(1)); CHECK_FALSE(opt_int(0) < nullopt); CHECK_FALSE(opt_int(1) < opt_int(0)); + CHECK_FALSE(opt_int(0) < std_opt_int()); + CHECK_FALSE(std_opt_int(0) < opt_int()); + CHECK(nullopt <= opt_int(0)); CHECK(opt_int(0) <= opt_int(1)); CHECK_FALSE(opt_int(0) <= nullopt); CHECK_FALSE(opt_int(1) <= opt_int(0)); + + CHECK_FALSE(opt_int(0) <= std_opt_int()); + CHECK_FALSE(std_opt_int(0) <= opt_int()); } TEST_CASE("nlohmann::optional constructors")