test_observer_ptr.cpp 499 Bytes
Newer Older
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
#include "test_precomp.hpp"

#include "../src/util/observer_ptr.hpp"

/**
 * Verifies that assigning `nullptr` and a nonzero value to a `cvv::util::ObserverPtr<Int>` 
 * (from /src/util/observer_ptr.hpp) work and that `isNull()` and `getPtr()` return the correct result.
 */

using cvv::util::ObserverPtr;

TEST(ObserverPtrTest, ConstructionAssignment)
{
	ObserverPtr<int> ptr = nullptr;
	EXPECT_TRUE(ptr.isNull());
	int x = 3;
	ptr = x;
	EXPECT_FALSE(ptr.isNull());
	EXPECT_EQ(&x, ptr.getPtr());
}