Skip to content

Commit 7def9b8

Browse files
committed
Added tests for raw_get
1 parent bce20c9 commit 7def9b8

File tree

1 file changed

+21
-0
lines changed

1 file changed

+21
-0
lines changed

tests/runtime_tests.cpp

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2023,6 +2023,27 @@ TEST_CASE("observer operator bool invalid", "[observer_utility]") {
20232023
REQUIRE(mem_track.double_del() == 0u);
20242024
}
20252025

2026+
TEST_CASE("observer get and raw get", "[observer_utility]") {
2027+
memory_tracker mem_track;
2028+
2029+
{
2030+
test_optr ptr;
2031+
REQUIRE(ptr.raw_get() == nullptr);
2032+
REQUIRE(ptr.get() == nullptr);
2033+
test_ptr owner_ptr{new test_object};
2034+
ptr = owner_ptr;
2035+
REQUIRE(ptr.raw_get() == owner_ptr.get());
2036+
REQUIRE(ptr.get() == owner_ptr.get());
2037+
test_object* raw_ptr = owner_ptr.get();
2038+
owner_ptr.reset();
2039+
REQUIRE(ptr.raw_get() == raw_ptr);
2040+
REQUIRE(ptr.get() == nullptr);
2041+
}
2042+
2043+
REQUIRE(mem_track.leaks() == 0u);
2044+
REQUIRE(mem_track.double_del() == 0u);
2045+
}
2046+
20262047
TEST_CASE("observer copy assignment operator valid to empty", "[observer_assignment]") {
20272048
memory_tracker mem_track;
20282049

0 commit comments

Comments
 (0)