Added tests for bug when swapping value/null-value and null-value value
This commit is contained in:
1 parent
53697d4a36
commit
8fbb0262a1
3 files changed
+30
-2
No files matched your search
@@ -0,0 +1,26 @@
|
||||
#include "catch.hpp"
|
||||
#include "optional.hpp"
|
||||
|
||||
TEST_CASE("Swap value", "[swap.value]") {
|
||||
tl::optional<int> o1 = 42;
|
||||
tl::optional<int> o2 = 12;
|
||||
o1.swap(o2);
|
||||
CHECK(o1.value() == 12);
|
||||
CHECK(o2.value() == 42);
|
||||
}
|
||||
|
||||
TEST_CASE("Swap value with null intialized", "[swap.value_nullopt]") {
|
||||
tl::optional<int> o1 = 42;
|
||||
tl::optional<int> o2 = tl::nullopt;
|
||||
o1.swap(o2);
|
||||
CHECK(!o1.has_value());
|
||||
CHECK(o2.value() == 42);
|
||||
}
|
||||
|
||||
TEST_CASE("Swap null intialized with value", "[swap.nullopt_value]") {
|
||||
tl::optional<int> o1 = tl::nullopt;
|
||||
tl::optional<int> o2 = 42;
|
||||
o1.swap(o2);
|
||||
CHECK(o1.value() == 42);
|
||||
CHECK(!o2.has_value());
|
||||
}
|
||||
Reference in new issue
Block a user