From e222791c4992c06482142b4c7d88e9903e5b417d Mon Sep 17 00:00:00 2001 From: Max Lyon Date: Thu, 17 Oct 2019 14:10:32 +0200 Subject: [PATCH] add test that does some comparisons between smart handles and handles --- src/Unittests/unittests_smart_handles.cc | 26 ++++++++++++++++++++++++ 1 file changed, 26 insertions(+) diff --git a/src/Unittests/unittests_smart_handles.cc b/src/Unittests/unittests_smart_handles.cc index fdfc5175..8d63d024 100644 --- a/src/Unittests/unittests_smart_handles.cc +++ b/src/Unittests/unittests_smart_handles.cc @@ -476,4 +476,30 @@ TEST_F(OpenMeshSmartHandles, MixOldAndNew) } + +/* comparability + */ +TEST_F(OpenMeshSmartHandles, ComparisionBetweenSmartHandleAndNormalHandles) +{ + OpenMesh::VertexHandle vh(0); + OpenMesh::SmartVertexHandle svh(0, &mesh_); + EXPECT_EQ(vh, svh) << "Vertex handle and smart vertex handle are different"; + + std::vector vertices = mesh_.vertices().to_vector([](OpenMesh::SmartVertexHandle _svh) { return OpenMesh::VertexHandle(_svh); }); + + std::replace(vertices.begin(), vertices.end(), OpenMesh::VertexHandle(0), OpenMesh::VertexHandle(1)); + EXPECT_EQ(vertices[0], OpenMesh::VertexHandle(1)); + + std::vector smart_vertices = mesh_.vertices().to_vector(); + + std::replace(smart_vertices.begin(), smart_vertices.end(), OpenMesh::SmartVertexHandle(0, &mesh_), OpenMesh::SmartVertexHandle(1, &mesh_)); + EXPECT_EQ(smart_vertices[0], OpenMesh::VertexHandle(1)); + EXPECT_EQ(smart_vertices[0], OpenMesh::SmartVertexHandle(1, &mesh_)); + + std::replace(vertices.begin(), vertices.end(), OpenMesh::SmartVertexHandle(1, &mesh_), OpenMesh::SmartVertexHandle(2, &mesh_)); + EXPECT_EQ(vertices[0], OpenMesh::VertexHandle(2)); + +} + + }