From e15c38ac65bce942a93ff1c5aebbd80d9336e60d Mon Sep 17 00:00:00 2001 From: neargye Date: Mon, 19 Aug 2019 21:58:58 +0500 Subject: [PATCH] update tests --- test/test.cpp | 357 +++++++++++++++++++++++++++++++------------------- 1 file changed, 221 insertions(+), 136 deletions(-) diff --git a/test/test.cpp b/test/test.cpp index 1921070..8867efd 100644 --- a/test/test.cpp +++ b/test/test.cpp @@ -47,247 +47,249 @@ struct enum_range { }; } +using namespace magic_enum; + TEST_CASE("enum_cast") { SECTION("string") { #if defined(_MSC_VER) && _MSC_VER < 1920 # define constexpr // Visual Studio 2017 have bug with string_view constexpr compare. #endif - constexpr auto cr = magic_enum::enum_cast("RED"); + constexpr auto cr = enum_cast("RED"); REQUIRE(cr.value() == Color::RED); - REQUIRE(magic_enum::enum_cast("GREEN").value() == Color::GREEN); - REQUIRE(magic_enum::enum_cast("BLUE").value() == Color::BLUE); - REQUIRE_FALSE(magic_enum::enum_cast("None").has_value()); + REQUIRE(enum_cast("GREEN").value() == Color::GREEN); + REQUIRE(enum_cast("BLUE").value() == Color::BLUE); + REQUIRE_FALSE(enum_cast("None").has_value()); - constexpr auto no = magic_enum::enum_cast("one"); + constexpr auto no = enum_cast("one"); REQUIRE(no.value() == Numbers::one); - REQUIRE(magic_enum::enum_cast("two").value() == Numbers::two); - REQUIRE(magic_enum::enum_cast("three").value() == Numbers::three); - REQUIRE_FALSE(magic_enum::enum_cast("many").has_value()); - REQUIRE_FALSE(magic_enum::enum_cast("None").has_value()); + REQUIRE(enum_cast("two").value() == Numbers::two); + REQUIRE(enum_cast("three").value() == Numbers::three); + REQUIRE_FALSE(enum_cast("many").has_value()); + REQUIRE_FALSE(enum_cast("None").has_value()); - constexpr auto dr = magic_enum::enum_cast("Right"); - REQUIRE(magic_enum::enum_cast("Up").value() == Directions::Up); - REQUIRE(magic_enum::enum_cast("Down").value() == Directions::Down); + constexpr auto dr = enum_cast("Right"); + REQUIRE(enum_cast("Up").value() == Directions::Up); + REQUIRE(enum_cast("Down").value() == Directions::Down); REQUIRE(dr.value() == Directions::Right); - REQUIRE(magic_enum::enum_cast("Left").value() == Directions::Left); - REQUIRE_FALSE(magic_enum::enum_cast("None").has_value()); + REQUIRE(enum_cast("Left").value() == Directions::Left); + REQUIRE_FALSE(enum_cast("None").has_value()); - constexpr auto nt = magic_enum::enum_cast("three"); - REQUIRE(magic_enum::enum_cast("one").value() == number::one); - REQUIRE(magic_enum::enum_cast("two").value() == number::two); + constexpr auto nt = enum_cast("three"); + REQUIRE(enum_cast("one").value() == number::one); + REQUIRE(enum_cast("two").value() == number::two); REQUIRE(nt.value() == number::three); - REQUIRE_FALSE(magic_enum::enum_cast("four").has_value()); - REQUIRE_FALSE(magic_enum::enum_cast("None").has_value()); + REQUIRE_FALSE(enum_cast("four").has_value()); + REQUIRE_FALSE(enum_cast("None").has_value()); #undef constexpr } SECTION("integer") { - constexpr auto cr = magic_enum::enum_cast(-12); + constexpr auto cr = enum_cast(-12); REQUIRE(cr.value() == Color::RED); - REQUIRE(magic_enum::enum_cast(7).value() == Color::GREEN); - REQUIRE(magic_enum::enum_cast(15).value() == Color::BLUE); - REQUIRE_FALSE(magic_enum::enum_cast(0).has_value()); + REQUIRE(enum_cast(7).value() == Color::GREEN); + REQUIRE(enum_cast(15).value() == Color::BLUE); + REQUIRE_FALSE(enum_cast(0).has_value()); - constexpr auto no = magic_enum::enum_cast(10); + constexpr auto no = enum_cast(10); REQUIRE(no.value() == Numbers::one); - REQUIRE(magic_enum::enum_cast(20).value() == Numbers::two); - REQUIRE(magic_enum::enum_cast(30).value() == Numbers::three); - REQUIRE_FALSE(magic_enum::enum_cast(127).has_value()); - REQUIRE_FALSE(magic_enum::enum_cast(0).has_value()); + REQUIRE(enum_cast(20).value() == Numbers::two); + REQUIRE(enum_cast(30).value() == Numbers::three); + REQUIRE_FALSE(enum_cast(127).has_value()); + REQUIRE_FALSE(enum_cast(0).has_value()); - constexpr auto dr = magic_enum::enum_cast(120); - REQUIRE(magic_enum::enum_cast(85).value() == Directions::Up); - REQUIRE(magic_enum::enum_cast(-42).value() == Directions::Down); + constexpr auto dr = enum_cast(120); + REQUIRE(enum_cast(85).value() == Directions::Up); + REQUIRE(enum_cast(-42).value() == Directions::Down); REQUIRE(dr.value() == Directions::Right); - REQUIRE(magic_enum::enum_cast(-120).value() == Directions::Left); - REQUIRE_FALSE(magic_enum::enum_cast(0).has_value()); + REQUIRE(enum_cast(-120).value() == Directions::Left); + REQUIRE_FALSE(enum_cast(0).has_value()); - constexpr auto nt = magic_enum::enum_cast(300); - REQUIRE(magic_enum::enum_cast(100).value() == number::one); - REQUIRE(magic_enum::enum_cast(200).value() == number::two); + constexpr auto nt = enum_cast(300); + REQUIRE(enum_cast(100).value() == number::one); + REQUIRE(enum_cast(200).value() == number::two); REQUIRE(nt.value() == number::three); - REQUIRE_FALSE(magic_enum::enum_cast(400).has_value()); - REQUIRE_FALSE(magic_enum::enum_cast(0).has_value()); + REQUIRE_FALSE(enum_cast(400).has_value()); + REQUIRE_FALSE(enum_cast(0).has_value()); } } TEST_CASE("enum_integer") { - constexpr auto cr = magic_enum::enum_integer(Color::RED); + constexpr auto cr = enum_integer(Color::RED); REQUIRE(cr == -12); - REQUIRE(magic_enum::enum_integer(Color::GREEN) == 7); - REQUIRE(magic_enum::enum_integer(Color::BLUE) == 15); - REQUIRE(magic_enum::enum_integer(static_cast(0)) == 0); + REQUIRE(enum_integer(Color::GREEN) == 7); + REQUIRE(enum_integer(Color::BLUE) == 15); + REQUIRE(enum_integer(static_cast(0)) == 0); - constexpr auto no = magic_enum::enum_integer(Numbers::one); + constexpr auto no = enum_integer(Numbers::one); REQUIRE(no == 10); - REQUIRE(magic_enum::enum_integer(Numbers::two) == 20); - REQUIRE(magic_enum::enum_integer(Numbers::three) == 30); - REQUIRE(magic_enum::enum_integer(Numbers::many) == 127); - REQUIRE(magic_enum::enum_integer(static_cast(0)) == 0); + REQUIRE(enum_integer(Numbers::two) == 20); + REQUIRE(enum_integer(Numbers::three) == 30); + REQUIRE(enum_integer(Numbers::many) == 127); + REQUIRE(enum_integer(static_cast(0)) == 0); - constexpr auto dr = magic_enum::enum_integer(Directions::Right); - REQUIRE(magic_enum::enum_integer(Directions::Left) == -120); - REQUIRE(magic_enum::enum_integer(Directions::Down) == -42); - REQUIRE(magic_enum::enum_integer(Directions::Up) == 85); + constexpr auto dr = enum_integer(Directions::Right); + REQUIRE(enum_integer(Directions::Left) == -120); + REQUIRE(enum_integer(Directions::Down) == -42); + REQUIRE(enum_integer(Directions::Up) == 85); REQUIRE(dr == 120); - REQUIRE(magic_enum::enum_integer(static_cast(0)) == 0); + REQUIRE(enum_integer(static_cast(0)) == 0); - constexpr auto nt = magic_enum::enum_integer(number::three); - REQUIRE(magic_enum::enum_integer(number::one) == 100); - REQUIRE(magic_enum::enum_integer(number::two) == 200); + constexpr auto nt = enum_integer(number::three); + REQUIRE(enum_integer(number::one) == 100); + REQUIRE(enum_integer(number::two) == 200); REQUIRE(nt == 300); - REQUIRE(magic_enum::enum_integer(number::four) == 400); - REQUIRE(magic_enum::enum_integer(static_cast(0)) == 0); + REQUIRE(enum_integer(number::four) == 400); + REQUIRE(enum_integer(static_cast(0)) == 0); } TEST_CASE("enum_value") { - constexpr auto cr = magic_enum::enum_value(0); + constexpr auto cr = enum_value(0); REQUIRE(cr == Color::RED); - REQUIRE(magic_enum::enum_value(1) == Color::GREEN); - REQUIRE(magic_enum::enum_value(2) == Color::BLUE); + REQUIRE(enum_value(1) == Color::GREEN); + REQUIRE(enum_value(2) == Color::BLUE); - constexpr auto no = magic_enum::enum_value(0); + constexpr auto no = enum_value(0); REQUIRE(no == Numbers::one); - REQUIRE(magic_enum::enum_value(1) == Numbers::two); - REQUIRE(magic_enum::enum_value(2) == Numbers::three); + REQUIRE(enum_value(1) == Numbers::two); + REQUIRE(enum_value(2) == Numbers::three); - constexpr auto dr = magic_enum::enum_value(3); - REQUIRE(magic_enum::enum_value(0) == Directions::Left); - REQUIRE(magic_enum::enum_value(1) == Directions::Down); - REQUIRE(magic_enum::enum_value(2) == Directions::Up); + constexpr auto dr = enum_value(3); + REQUIRE(enum_value(0) == Directions::Left); + REQUIRE(enum_value(1) == Directions::Down); + REQUIRE(enum_value(2) == Directions::Up); REQUIRE(dr == Directions::Right); - constexpr auto nt = magic_enum::enum_value(2); - REQUIRE(magic_enum::enum_value(0) == number::one); - REQUIRE(magic_enum::enum_value(1) == number::two); + constexpr auto nt = enum_value(2); + REQUIRE(enum_value(0) == number::one); + REQUIRE(enum_value(1) == number::two); REQUIRE(nt == number::three); } TEST_CASE("enum_values") { - constexpr auto s1 = magic_enum::enum_values(); + constexpr auto s1 = enum_values(); REQUIRE(s1 == std::array{{Color::RED, Color::GREEN, Color::BLUE}}); - constexpr auto s2 = magic_enum::enum_values(); + constexpr auto s2 = enum_values(); REQUIRE(s2 == std::array{{Numbers::one, Numbers::two, Numbers::three}}); - constexpr auto s3 = magic_enum::enum_values(); + constexpr auto s3 = enum_values(); REQUIRE(s3 == std::array{{Directions::Left, Directions::Down, Directions::Up, Directions::Right}}); - constexpr auto s4 = magic_enum::enum_values(); + constexpr auto s4 = enum_values(); REQUIRE(s4 == std::array{{number::one, number::two, number::three}}); } TEST_CASE("enum_count") { - constexpr auto s1 = magic_enum::enum_count(); + constexpr auto s1 = enum_count(); REQUIRE(s1 == 3); - constexpr auto s2 = magic_enum::enum_count(); + constexpr auto s2 = enum_count(); REQUIRE(s2 == 3); - constexpr auto s3 = magic_enum::enum_count(); + constexpr auto s3 = enum_count(); REQUIRE(s3 == 4); - constexpr auto s4 = magic_enum::enum_count(); + constexpr auto s4 = enum_count(); REQUIRE(s4 == 3); } TEST_CASE("enum_name") { SECTION("automatic storage") { constexpr Color cr = Color::RED; - constexpr auto cr_name = magic_enum::enum_name(cr); + constexpr auto cr_name = enum_name(cr); Color cm[3] = {Color::RED, Color::GREEN, Color::BLUE}; REQUIRE(cr_name == "RED"); - REQUIRE(magic_enum::enum_name(Color::BLUE) == "BLUE"); - REQUIRE(magic_enum::enum_name(cm[1]) == "GREEN"); - REQUIRE(magic_enum::enum_name(static_cast(0)).empty()); + REQUIRE(enum_name(Color::BLUE) == "BLUE"); + REQUIRE(enum_name(cm[1]) == "GREEN"); + REQUIRE(enum_name(static_cast(0)).empty()); constexpr Numbers no = Numbers::one; - constexpr auto no_name = magic_enum::enum_name(no); + constexpr auto no_name = enum_name(no); REQUIRE(no_name == "one"); - REQUIRE(magic_enum::enum_name(Numbers::two) == "two"); - REQUIRE(magic_enum::enum_name(Numbers::three) == "three"); - REQUIRE(magic_enum::enum_name(Numbers::many).empty()); - REQUIRE(magic_enum::enum_name(static_cast(0)).empty()); + REQUIRE(enum_name(Numbers::two) == "two"); + REQUIRE(enum_name(Numbers::three) == "three"); + REQUIRE(enum_name(Numbers::many).empty()); + REQUIRE(enum_name(static_cast(0)).empty()); constexpr Directions dr = Directions::Right; - constexpr auto dr_name = magic_enum::enum_name(dr); - REQUIRE(magic_enum::enum_name(Directions::Up) == "Up"); - REQUIRE(magic_enum::enum_name(Directions::Down) == "Down"); + constexpr auto dr_name = enum_name(dr); + REQUIRE(enum_name(Directions::Up) == "Up"); + REQUIRE(enum_name(Directions::Down) == "Down"); REQUIRE(dr_name == "Right"); - REQUIRE(magic_enum::enum_name(Directions::Left) == "Left"); - REQUIRE(magic_enum::enum_name(static_cast(0)).empty()); + REQUIRE(enum_name(Directions::Left) == "Left"); + REQUIRE(enum_name(static_cast(0)).empty()); constexpr number nt = number::three; - constexpr auto nt_name = magic_enum::enum_name(nt); - REQUIRE(magic_enum::enum_name(number::one) == "one"); - REQUIRE(magic_enum::enum_name(number::two) == "two"); + constexpr auto nt_name = enum_name(nt); + REQUIRE(enum_name(number::one) == "one"); + REQUIRE(enum_name(number::two) == "two"); REQUIRE(nt_name == "three"); - REQUIRE(magic_enum::enum_name(number::four).empty()); - REQUIRE(magic_enum::enum_name(static_cast(0)).empty()); + REQUIRE(enum_name(number::four).empty()); + REQUIRE(enum_name(static_cast(0)).empty()); } SECTION("static storage") { constexpr Color cr = Color::RED; - constexpr auto cr_name = magic_enum::enum_name(); + constexpr auto cr_name = enum_name(); constexpr Color cm[3] = {Color::RED, Color::GREEN, Color::BLUE}; REQUIRE(cr_name == "RED"); - REQUIRE(magic_enum::enum_name() == "BLUE"); - REQUIRE(magic_enum::enum_name() == "GREEN"); - REQUIRE(magic_enum::enum_name(0)>().empty()); + REQUIRE(enum_name() == "BLUE"); + REQUIRE(enum_name() == "GREEN"); + REQUIRE(enum_name(0)>().empty()); constexpr Numbers no = Numbers::one; - constexpr auto no_name = magic_enum::enum_name(); + constexpr auto no_name = enum_name(); REQUIRE(no_name == "one"); - REQUIRE(magic_enum::enum_name() == "two"); - REQUIRE(magic_enum::enum_name() == "three"); - REQUIRE(magic_enum::enum_name() == "many"); - REQUIRE(magic_enum::enum_name(0)>().empty()); + REQUIRE(enum_name() == "two"); + REQUIRE(enum_name() == "three"); + REQUIRE(enum_name() == "many"); + REQUIRE(enum_name(0)>().empty()); constexpr Directions dr = Directions::Right; - constexpr auto dr_name = magic_enum::enum_name(); - REQUIRE(magic_enum::enum_name() == "Up"); - REQUIRE(magic_enum::enum_name() == "Down"); + constexpr auto dr_name = enum_name(); + REQUIRE(enum_name() == "Up"); + REQUIRE(enum_name() == "Down"); REQUIRE(dr_name == "Right"); - REQUIRE(magic_enum::enum_name() == "Left"); - REQUIRE(magic_enum::enum_name(0)>().empty()); + REQUIRE(enum_name() == "Left"); + REQUIRE(enum_name(0)>().empty()); constexpr number nt = number::three; - constexpr auto nt_name = magic_enum::enum_name(); - REQUIRE(magic_enum::enum_name() == "one"); - REQUIRE(magic_enum::enum_name() == "two"); + constexpr auto nt_name = enum_name(); + REQUIRE(enum_name() == "one"); + REQUIRE(enum_name() == "two"); REQUIRE(nt_name == "three"); - REQUIRE(magic_enum::enum_name() == "four"); - REQUIRE(magic_enum::enum_name(0)>().empty()); + REQUIRE(enum_name() == "four"); + REQUIRE(enum_name(0)>().empty()); } } TEST_CASE("enum_names") { - constexpr auto s1 = magic_enum::enum_names(); + constexpr auto s1 = enum_names(); REQUIRE(s1 == std::array{{"RED", "GREEN", "BLUE"}}); - constexpr auto s2 = magic_enum::enum_names(); + constexpr auto s2 = enum_names(); REQUIRE(s2 == std::array{{"one", "two", "three"}}); - constexpr auto s3 = magic_enum::enum_names(); + constexpr auto s3 = enum_names(); REQUIRE(s3 == std::array{{"Left", "Down", "Up", "Right"}}); - constexpr auto s4 = magic_enum::enum_names(); + constexpr auto s4 = enum_names(); REQUIRE(s4 == std::array{{"one", "two", "three"}}); } TEST_CASE("enum_entries") { - constexpr auto s1 = magic_enum::enum_entries(); + constexpr auto s1 = enum_entries(); REQUIRE(s1 == std::array, 3>{{{Color::RED, "RED"}, {Color::GREEN, "GREEN"}, {Color::BLUE, "BLUE"}}}); - constexpr auto s2 = magic_enum::enum_entries(); + constexpr auto s2 = enum_entries(); REQUIRE(s2 == std::array, 3>{{{Numbers::one, "one"}, {Numbers::two, "two"}, {Numbers::three, "three"}}}); - constexpr auto s3 = magic_enum::enum_entries(); + constexpr auto s3 = enum_entries(); REQUIRE(s3 == std::array, 4>{{{Directions::Left, "Left"}, {Directions::Down, "Down"}, {Directions::Up, "Up"}, {Directions::Right, "Right"}}}); - constexpr auto s4 = magic_enum::enum_entries(); + constexpr auto s4 = enum_entries(); REQUIRE(s4 == std::array, 3>{{{number::one, "one"}, {number::two, "two"}, {number::three, "three"}}}); } @@ -328,21 +330,104 @@ TEST_CASE("ostream_operators") { } TEST_CASE("bitwise_operators") { + using namespace magic_enum::bitwise_operators; + + SECTION("operator^") { + REQUIRE(enum_integer(~Color::RED) == ~enum_integer(Color::RED)); + REQUIRE(enum_integer(~Numbers::one) == ~enum_integer(Numbers::one)); + REQUIRE(enum_integer(~Directions::Up) == ~enum_integer(Directions::Up)); + REQUIRE(enum_integer(~number::one) == ~enum_integer(number::one)); + } + + SECTION("operator|") { + REQUIRE(enum_integer(Color::RED | Color::BLUE) == (enum_integer(Color::RED) | enum_integer(Color::BLUE))); + REQUIRE(enum_integer(Numbers::one | Numbers::two) == (enum_integer(Numbers::one) | enum_integer(Numbers::two))); + REQUIRE(enum_integer(Directions::Up | Directions::Down) == (enum_integer(Directions::Up) | enum_integer(Directions::Down))); + REQUIRE(enum_integer(number::one | number::two) == (enum_integer(number::one) | enum_integer(number::two))); + } + + SECTION("operator&") { + REQUIRE(enum_integer(Color::RED & Color::BLUE) == (enum_integer(Color::RED) & enum_integer(Color::BLUE))); + REQUIRE(enum_integer(Numbers::one & Numbers::two) == (enum_integer(Numbers::one) & enum_integer(Numbers::two))); + REQUIRE(enum_integer(Directions::Up & Directions::Down) == (enum_integer(Directions::Up) & enum_integer(Directions::Down))); + REQUIRE(enum_integer(number::one & number::two) == (enum_integer(number::one) & enum_integer(number::two))); + } + + SECTION("operator^") { + REQUIRE(enum_integer(Color::RED ^ Color::BLUE) == (enum_integer(Color::RED) ^ enum_integer(Color::BLUE))); + REQUIRE(enum_integer(Numbers::one ^ Numbers::two) == (enum_integer(Numbers::one) ^ enum_integer(Numbers::two))); + REQUIRE(enum_integer(Directions::Up ^ Directions::Down) == (enum_integer(Directions::Up) ^ enum_integer(Directions::Down))); + REQUIRE(enum_integer(number::one ^ number::two) == (enum_integer(number::one) ^ enum_integer(number::two))); + } + + SECTION("operator|=") { + Color x1 = Color::RED; + x1 |= Color::BLUE; + REQUIRE(enum_integer(x1) == (enum_integer(Color::RED) | enum_integer(Color::BLUE))); + + Numbers x2 = Numbers::one; + x2 |= Numbers::two; + REQUIRE(enum_integer(x2) == (enum_integer(Numbers::one) | enum_integer(Numbers::two))); + + Directions x3 = Directions::Up; + x3 |= Directions::Down; + REQUIRE(enum_integer(x3) == (enum_integer(Directions::Up) | enum_integer(Directions::Down))); + + number x4 = number::one; + x4 |= number::two; + REQUIRE(enum_integer(x4) == (enum_integer(number::one) | enum_integer(number::two))); + } + + SECTION("operator&=") { + Color x1 = Color::RED; + x1 &= Color::BLUE; + REQUIRE(enum_integer(x1) == (enum_integer(Color::RED) & enum_integer(Color::BLUE))); + + Numbers x2 = Numbers::one; + x2 &= Numbers::two; + REQUIRE(enum_integer(x2) == (enum_integer(Numbers::one) & enum_integer(Numbers::two))); + + Directions x3 = Directions::Up; + x3 &= Directions::Down; + REQUIRE(enum_integer(x3) == (enum_integer(Directions::Up) & enum_integer(Directions::Down))); + + number x4 = number::one; + x4 &= number::two; + REQUIRE(enum_integer(x4) == (enum_integer(number::one) & enum_integer(number::two))); + } + + SECTION("operator^=") { + Color x1 = Color::RED; + x1 ^= Color::BLUE; + REQUIRE(enum_integer(x1) == (enum_integer(Color::RED) ^ enum_integer(Color::BLUE))); + + Numbers x2 = Numbers::one; + x2 ^= Numbers::two; + REQUIRE(enum_integer(x2) == (enum_integer(Numbers::one) ^ enum_integer(Numbers::two))); + + Directions x3 = Directions::Up; + x3 ^= Directions::Down; + REQUIRE(enum_integer(x3) == (enum_integer(Directions::Up) ^ enum_integer(Directions::Down))); + + number x4 = number::one; + x4 ^= number::two; + REQUIRE(enum_integer(x4) == (enum_integer(number::one) ^ enum_integer(number::two))); + } } TEST_CASE("type_traits") { - REQUIRE_FALSE(magic_enum::is_unscoped_enum_v); - REQUIRE_FALSE(magic_enum::is_unscoped_enum_v); - REQUIRE(magic_enum::is_unscoped_enum_v); - REQUIRE(magic_enum::is_unscoped_enum_v); + REQUIRE_FALSE(is_unscoped_enum_v); + REQUIRE_FALSE(is_unscoped_enum_v); + REQUIRE(is_unscoped_enum_v); + REQUIRE(is_unscoped_enum_v); - REQUIRE(magic_enum::is_scoped_enum_v); - REQUIRE(magic_enum::is_scoped_enum_v); - REQUIRE_FALSE(magic_enum::is_scoped_enum_v); - REQUIRE_FALSE(magic_enum::is_scoped_enum_v); + REQUIRE(is_scoped_enum_v); + REQUIRE(is_scoped_enum_v); + REQUIRE_FALSE(is_scoped_enum_v); + REQUIRE_FALSE(is_scoped_enum_v); - REQUIRE(magic_enum::is_fixed_enum_v); - REQUIRE(magic_enum::is_fixed_enum_v); - REQUIRE_FALSE(magic_enum::is_fixed_enum_v); - REQUIRE(magic_enum::is_fixed_enum_v); + REQUIRE(is_fixed_enum_v); + REQUIRE(is_fixed_enum_v); + REQUIRE_FALSE(is_fixed_enum_v); + REQUIRE(is_fixed_enum_v); }