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