From 07fcf4675155f46c80276a616d87bd6654f3aea2 Mon Sep 17 00:00:00 2001 From: Jan Travnicek <Jan.Travnicek@fit.cvut.cz> Date: Tue, 20 Dec 2016 10:50:02 +0100 Subject: [PATCH] test even moving of cow_shared_ptrs --- alib2std/test-src/extensions/SharedPtrTest.cpp | 14 ++++++++++++-- 1 file changed, 12 insertions(+), 2 deletions(-) diff --git a/alib2std/test-src/extensions/SharedPtrTest.cpp b/alib2std/test-src/extensions/SharedPtrTest.cpp index 0f590b327c..9d5b90c7b6 100644 --- a/alib2std/test-src/extensions/SharedPtrTest.cpp +++ b/alib2std/test-src/extensions/SharedPtrTest.cpp @@ -28,16 +28,21 @@ void SharedPtrTest::testSharedPtr1() { std::make_const(two).get(); + std::cow_shared_ptr<SharedPtrTest::Moveable> three(std::move ( two ) ); + + std::make_const(three).get(); + CPPUNIT_ASSERT(!one.unique()); CPPUNIT_ASSERT(moves == 0); CPPUNIT_ASSERT(copies == 0); + two = std::move ( three ) ; + two.get(); CPPUNIT_ASSERT(one.unique()); CPPUNIT_ASSERT(moves == 0); CPPUNIT_ASSERT(copies == 1); - } void SharedPtrTest::testSharedPtr2() { @@ -58,16 +63,21 @@ void SharedPtrTest::testSharedPtr2() { std::make_const(two).get(); + std::cow_shared_ptr<SharedPtrTest::Moveable2> three(std::move ( two ) ); + + std::make_const(three).get(); + CPPUNIT_ASSERT(!one.unique()); CPPUNIT_ASSERT(moves == 0); CPPUNIT_ASSERT(copies == 0); + two = std::move ( three ) ; + two.get(); CPPUNIT_ASSERT(one.unique()); CPPUNIT_ASSERT(moves == 0); CPPUNIT_ASSERT(copies == 1); - } void SharedPtrTest::testSharedPtr3() { -- GitLab