#include "catch.hpp" #include "optional.hpp" TEST_CASE("Constructors", "[constructors]") { tl::optional o1; REQUIRE(!o1); tl::optional o2 = tl::nullopt; REQUIRE(!o2); tl::optional o3 = 42; REQUIRE(*o3 == 42); tl::optional o4 = o3; REQUIRE(*o4 == 42); tl::optional o5 = o1; REQUIRE(!o5); tl::optional o6 = std::move(o3); REQUIRE(*o6 == 42); tl::optional o7 = 42; REQUIRE(*o7 == 42); tl::optional o8 = o7; REQUIRE(*o8 == 42); tl::optional o9 = std::move(o7); REQUIRE(*o9 == 42); }