From ba9f22689176ae24f7414afbf6eb50b5a958d762 Mon Sep 17 00:00:00 2001 From: Laurent Rineau Date: Mon, 1 Feb 2021 14:47:18 +0100 Subject: [PATCH] Add tests for move constructors --- .../include/CGAL/_test_cls_delaunay_3.h | 15 ++++++++++++++- .../include/CGAL/_test_cls_regular_3.h | 14 ++++++++++++-- .../include/CGAL/_test_cls_triangulation_3.h | 15 ++++++++++++++- 3 files changed, 40 insertions(+), 4 deletions(-) diff --git a/Triangulation_3/test/Triangulation_3/include/CGAL/_test_cls_delaunay_3.h b/Triangulation_3/test/Triangulation_3/include/CGAL/_test_cls_delaunay_3.h index f7d4579828c..471e3791fd4 100644 --- a/Triangulation_3/test/Triangulation_3/include/CGAL/_test_cls_delaunay_3.h +++ b/Triangulation_3/test/Triangulation_3/include/CGAL/_test_cls_delaunay_3.h @@ -421,7 +421,20 @@ _test_cls_delaunay_3(const Triangulation &) assert(T1.number_of_vertices() == 0); assert(T1.is_valid()); - + // move constructor + { + Cls T_copy(T0); + assert(T_copy.dimension() == 3); + assert(T_copy.number_of_vertices() == 4); + assert(T_copy.is_valid()); + Cls T_move_constructed(std::move(T_copy)); + assert(T_move_constructed.dimension() == 3); + assert(T_move_constructed.number_of_vertices() == 4); + assert(T_move_constructed.is_valid()); + assert(T_copy.dimension() == -2); + assert(T_copy.number_of_vertices() == -1); + assert(T_copy.is_valid()); + } // Affectation : T1=T0; diff --git a/Triangulation_3/test/Triangulation_3/include/CGAL/_test_cls_regular_3.h b/Triangulation_3/test/Triangulation_3/include/CGAL/_test_cls_regular_3.h index fba2db023fd..1da16d061c7 100644 --- a/Triangulation_3/test/Triangulation_3/include/CGAL/_test_cls_regular_3.h +++ b/Triangulation_3/test/Triangulation_3/include/CGAL/_test_cls_regular_3.h @@ -205,6 +205,16 @@ _test_cls_regular_3(const Triangulation &) << T.number_of_vertices() << std::endl; assert(T.is_valid()); assert(T.dimension()==3); + + // move constructor + { + Triangulation T_copy(T); + assert(T_copy == T); + assert(T_copy == T); + Triangulation T_move_constructed(std::move(T_copy)); + assert(T_move_constructed == T); + assert(T_copy.dimension() == -2); + assert(T_copy.number_of_vertices() == -1); + assert(T_copy.is_valid()); + } } - - diff --git a/Triangulation_3/test/Triangulation_3/include/CGAL/_test_cls_triangulation_3.h b/Triangulation_3/test/Triangulation_3/include/CGAL/_test_cls_triangulation_3.h index ded18a9175f..ca8b84ac193 100644 --- a/Triangulation_3/test/Triangulation_3/include/CGAL/_test_cls_triangulation_3.h +++ b/Triangulation_3/test/Triangulation_3/include/CGAL/_test_cls_triangulation_3.h @@ -286,7 +286,20 @@ _test_cls_triangulation_3(const Triangulation &) assert(T1.number_of_vertices() == 0); assert(T1.is_valid()); - + // move constructor + { + Cls T_copy(T0); + assert(T_copy.dimension() == 3); + assert(T_copy.number_of_vertices() == 4); + assert(T_copy.is_valid()); + Cls T_move_constructed(std::move(T_copy)); + assert(T_move_constructed.dimension() == 3); + assert(T_move_constructed.number_of_vertices() == 4); + assert(T_move_constructed.is_valid()); + assert(T_copy.dimension() == -2); + assert(T_copy.number_of_vertices() == -1); + assert(T_copy.is_valid()); + } // Assignment T1=T0;