OpenCV_4.2.0/opencv_contrib-4.2.0/modules/cvv/test/test_observer_ptr.cpp

27 lines
746 B
C++
Raw Normal View History

2024-07-25 16:47:56 +08:00
// This file is part of OpenCV project.
// It is subject to the license terms in the LICENSE file found in the top-level directory
// of this distribution and at http://opencv.org/license.html.
#include "test_precomp.hpp"
#include "../src/util/observer_ptr.hpp"
namespace opencv_test { namespace {
/**
* 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());
}
}} // namespace