diff options
author | Loek Le Blansch <loek@pipeframe.xyz> | 2024-11-21 09:29:15 +0100 |
---|---|---|
committer | Loek Le Blansch <loek@pipeframe.xyz> | 2024-11-21 09:29:15 +0100 |
commit | 9d66b6cfccd15a1600c30af5e744e8b0710eeae6 (patch) | |
tree | 16db30a36f8802bc5003f64cacc1e596b6f472a2 /src/test/OptionalRefTest.cpp | |
parent | f7a1ca3b7d934043b48602601e789bad27940405 (diff) |
remove OptionalRef::set and OptionalRef::get
Diffstat (limited to 'src/test/OptionalRefTest.cpp')
-rw-r--r-- | src/test/OptionalRefTest.cpp | 42 |
1 files changed, 26 insertions, 16 deletions
diff --git a/src/test/OptionalRefTest.cpp b/src/test/OptionalRefTest.cpp index 2072d56..1c69348 100644 --- a/src/test/OptionalRefTest.cpp +++ b/src/test/OptionalRefTest.cpp @@ -6,32 +6,42 @@ using namespace std; using namespace crepe; using namespace testing; -TEST(OptionalRefTest, Explicit) { +TEST(OptionalRefTest, Normal) { string value = "foo"; - OptionalRef<string> ref; - EXPECT_FALSE(ref); - ASSERT_THROW(ref.get(), runtime_error); + OptionalRef<string> ref = value; - ref.set(value); EXPECT_TRUE(ref); - ASSERT_NO_THROW(ref.get()); + ASSERT_NO_THROW({ + string & value_ref = ref; + EXPECT_EQ(value_ref, value); + }); ref.clear(); EXPECT_FALSE(ref); - ASSERT_THROW(ref.get(), runtime_error); + ASSERT_THROW({ + string & value_ref = ref; + }, runtime_error); } -TEST(OptionalRefTest, Implicit) { +TEST(OptionalRefTest, Empty) { string value = "foo"; - OptionalRef<string> ref = value; - EXPECT_TRUE(ref); - ASSERT_NO_THROW(ref.get()); + OptionalRef<string> ref; - ref.clear(); EXPECT_FALSE(ref); - ASSERT_THROW(ref.get(), runtime_error); + ASSERT_THROW({ + string & value_ref = ref; + }, runtime_error); +} - ref = value; - EXPECT_TRUE(ref); - ASSERT_NO_THROW(ref.get()); +TEST(OptionalRefTest, Chain) { + string value = "foo"; + OptionalRef<string> ref1 = value; + OptionalRef<string> ref2 = ref1; + + EXPECT_TRUE(ref2); + string & value_ref = ref2; + EXPECT_EQ(value_ref, value); + value_ref = "bar"; + EXPECT_EQ(value_ref, value); } + |