From 2e2d1bd3b6c7776b77c33b94f30ead89367a71e6 Mon Sep 17 00:00:00 2001 From: Lexi Winter Date: Tue, 1 Jul 2025 17:07:04 +0100 Subject: add nihil.std --- nihil.flagset/test.cc | 41 ++++++++++++++++++----------------------- 1 file changed, 18 insertions(+), 23 deletions(-) (limited to 'nihil.flagset/test.cc') diff --git a/nihil.flagset/test.cc b/nihil.flagset/test.cc index c3ebd35..90eef4a 100644 --- a/nihil.flagset/test.cc +++ b/nihil.flagset/test.cc @@ -1,18 +1,14 @@ -/* - * This source code is released into the public domain. - */ - -#include -#include -#include +// This source code is released into the public domain. #include +import nihil.std; import nihil.flagset; namespace { - -struct test_tag{}; +struct test_tag +{ +}; using testflags = nihil::flagset; constexpr auto zero = testflags::bit<0>(); @@ -20,8 +16,6 @@ constexpr auto one = testflags::bit<1>(); constexpr auto two = testflags::bit<2>(); constexpr auto twelve = testflags::bit<12>(); -} - TEST_CASE("flagset: invariant", "[nihil]") { static_assert(std::regular); @@ -45,17 +39,17 @@ TEST_CASE("flagset: mask<>", "[nihil]") TEST_CASE("flagset: constructor", "[nihil]") { - SECTION("default construct") { + SECTION ("default construct") { auto flags = testflags(); REQUIRE(flags.value() == 0); } - SECTION("construct from int") { + SECTION ("construct from int") { auto flags = testflags::from_int(one.value() | zero.value()); REQUIRE(flags == (one | zero)); } - SECTION("copy construct") { + SECTION ("copy construct") { auto flags = one; auto flags2(flags); REQUIRE(flags == flags2); @@ -64,46 +58,46 @@ TEST_CASE("flagset: constructor", "[nihil]") TEST_CASE("flagset: operators", "[nihil]") { - SECTION("operator|") { + SECTION ("operator|") { REQUIRE((zero | one).value() == 0x3); } - SECTION("operator|=") { + SECTION ("operator|=") { auto flags = zero; flags |= one; REQUIRE(flags.value() == 0x3); } - SECTION("operator&") { + SECTION ("operator&") { auto flags = zero | one; REQUIRE((flags & zero) == zero); } - SECTION("operator&=") { + SECTION ("operator&=") { auto flags = zero | one | two; REQUIRE(flags.value() == 0x7); flags &= (zero | one); REQUIRE(flags.value() == 0x3); } - SECTION("operator^") { + SECTION ("operator^") { auto flags = zero | one; REQUIRE((flags ^ (one | two)) == (zero | two)); } - SECTION("operator^=") { + SECTION ("operator^=") { auto flags = zero | one; flags ^= (one | two); REQUIRE(flags == (zero | two)); } - SECTION("operator~") { + SECTION ("operator~") { auto flags = ~zero; REQUIRE(flags.value() == ~static_cast(1)); } - SECTION("operator==") { + SECTION ("operator==") { auto flags = zero; REQUIRE(flags == zero); REQUIRE(flags != one); @@ -133,7 +127,7 @@ TEST_CASE("flagset: format", "[nihil]") TEST_CASE("flagset: ostream operator<<", "[nihil]") { - auto write = [] (testflags flags) -> std::string { + auto write = [](testflags flags) -> std::string { auto strm = std::ostringstream(); strm << flags; return strm.str(); @@ -147,3 +141,4 @@ TEST_CASE("flagset: ostream operator<<", "[nihil]") REQUIRE(write(twelve) == "<12>"); REQUIRE(write(twelve | one) == "<12,1>"); } +} // anonymous namespace -- cgit v1.2.3