From c1ac62b901c003f727de84e75c22191d8a6cff50 Mon Sep 17 00:00:00 2001 From: Max Lyon Date: Tue, 23 Oct 2018 11:21:32 +0200 Subject: [PATCH] add tests for reading different file versions --- .../TestFiles/cube_poly_version_1_2.om | Bin 0 -> 154 bytes .../TestFiles/cube_poly_version_2_0.om | Bin 0 -> 208 bytes .../TestFiles/cube_tri_version_10_5.om | Bin 0 -> 154 bytes .../TestFiles/cube_tri_version_1_2.om | Bin 0 -> 154 bytes .../TestFiles/cube_tri_version_2_0.om | Bin 0 -> 250 bytes src/Unittests/unittests_read_write_OM.cc | 95 ++++++++++++++++++ 6 files changed, 95 insertions(+) create mode 100644 src/Unittests/TestFiles/cube_poly_version_1_2.om create mode 100644 src/Unittests/TestFiles/cube_poly_version_2_0.om create mode 100644 src/Unittests/TestFiles/cube_tri_version_10_5.om create mode 100644 src/Unittests/TestFiles/cube_tri_version_1_2.om create mode 100644 src/Unittests/TestFiles/cube_tri_version_2_0.om diff --git a/src/Unittests/TestFiles/cube_poly_version_1_2.om b/src/Unittests/TestFiles/cube_poly_version_1_2.om new file mode 100644 index 0000000000000000000000000000000000000000..fa583a99ddd75ad5f0956f735578debf488e5313 GIT binary patch literal 154 zcmebG4N&4>U|?VaVjdu75My9yum|G(P#VOBVPr87n^-?|@20L=3mmjD0& literal 0 HcmV?d00001 diff --git a/src/Unittests/TestFiles/cube_poly_version_2_0.om b/src/Unittests/TestFiles/cube_poly_version_2_0.om new file mode 100644 index 0000000000000000000000000000000000000000..ec32c759da37ecf5e557fc765f9b7deac1ad2511 GIT binary patch literal 208 zcma)#%MF4+7=-74vjQR_%f()_0iz|^8LfD<1dlF85|19f%p;S`^>RB`0KCu?kb(QD zFn@LNE5F_1|IO?6qp!?_3Z#sd)CHNP{ElK9rGPa?TV)~|On1RaZSQ;tsf{OB6Y0Ww U7h!#Pv@)h)>YnaY_mYly1L4LVga7~l literal 0 HcmV?d00001 diff --git a/src/Unittests/TestFiles/cube_tri_version_10_5.om b/src/Unittests/TestFiles/cube_tri_version_10_5.om new file mode 100644 index 0000000000000000000000000000000000000000..b1ae2363b98b62faa9d9130c9bb3c2f465bf3e22 GIT binary patch literal 154 zcmebG4RPgQU|`?@Vj&=A5My9yum|G(P#VOBVPr87n^-lGT> literal 0 HcmV?d00001 diff --git a/src/Unittests/TestFiles/cube_tri_version_1_2.om b/src/Unittests/TestFiles/cube_tri_version_1_2.om new file mode 100644 index 0000000000000000000000000000000000000000..126a284642d46aad8620e7aae093df4d5ed0885b GIT binary patch literal 154 zcmebG4N>A?U|`?@Vj&=A5My9yum|G(P#VOBVPr87n^-ekgmFm({9iv#xI7 E1q7!db^rhX literal 0 HcmV?d00001 diff --git a/src/Unittests/unittests_read_write_OM.cc b/src/Unittests/unittests_read_write_OM.cc index c5f1726f..803ec4df 100644 --- a/src/Unittests/unittests_read_write_OM.cc +++ b/src/Unittests/unittests_read_write_OM.cc @@ -1326,4 +1326,99 @@ TEST_F(OpenMeshReadWriteOM, WriteReadStatusPropertyFaceOnly) { } } + +/* + * Just load a triangle mesh from an om file of version 1.2 + */ +TEST_F(OpenMeshReadWriteOM, LoadTriangleMeshVersion_1_2) { + + mesh_.clear(); + + std::string file_name = "cube_tri_version_1_2.om"; + + bool ok = OpenMesh::IO::read_mesh(mesh_, file_name); + + EXPECT_TRUE(ok) << file_name; + + EXPECT_EQ(8u , mesh_.n_vertices()) << "The number of loaded vertices is not correct!"; + EXPECT_EQ(18u , mesh_.n_edges()) << "The number of loaded edges is not correct!"; + EXPECT_EQ(12u , mesh_.n_faces()) << "The number of loaded faces is not correct!"; + EXPECT_EQ(36u , mesh_.n_halfedges()) << "The number of loaded halfedges is not correct!"; +} + + +/* + * Just load a polyhedral mesh from an om file of version 1.2 + */ +TEST_F(OpenMeshReadWriteOM, LoadPolyMeshVersion_1_2) { + + PolyMesh mesh; + + std::string file_name = "cube_poly_version_1_2.om"; + + bool ok = OpenMesh::IO::read_mesh(mesh, file_name); + + EXPECT_TRUE(ok) << file_name; + + EXPECT_EQ(8u , mesh.n_vertices()) << "The number of loaded vertices is not correct!"; + EXPECT_EQ(12u , mesh.n_edges()) << "The number of loaded edges is not correct!"; + EXPECT_EQ(6u , mesh.n_faces()) << "The number of loaded faces is not correct!"; + EXPECT_EQ(24u , mesh.n_halfedges()) << "The number of loaded halfedges is not correct!"; +} + + +/* + * Just load a triangle mesh from an om file of version 2.0 + */ +TEST_F(OpenMeshReadWriteOM, LoadTriangleMeshVersion_2_0) { + + mesh_.clear(); + + std::string file_name = "cube_tri_version_2_0.om"; + + bool ok = OpenMesh::IO::read_mesh(mesh_, file_name); + + EXPECT_TRUE(ok) << file_name; + + EXPECT_EQ(8u , mesh_.n_vertices()) << "The number of loaded vertices is not correct!"; + EXPECT_EQ(18u , mesh_.n_edges()) << "The number of loaded edges is not correct!"; + EXPECT_EQ(12u , mesh_.n_faces()) << "The number of loaded faces is not correct!"; + EXPECT_EQ(36u , mesh_.n_halfedges()) << "The number of loaded halfedges is not correct!"; +} + + +/* + * Just load a polyhedral mesh from an om file of version 2.0 + */ +TEST_F(OpenMeshReadWriteOM, LoadPolyMeshVersion_2_0) { + + PolyMesh mesh; + + std::string file_name = "cube_poly_version_2_0.om"; + + bool ok = OpenMesh::IO::read_mesh(mesh, file_name); + + EXPECT_TRUE(ok) << file_name; + + EXPECT_EQ(8u , mesh.n_vertices()) << "The number of loaded vertices is not correct!"; + EXPECT_EQ(12u , mesh.n_edges()) << "The number of loaded edges is not correct!"; + EXPECT_EQ(6u , mesh.n_faces()) << "The number of loaded faces is not correct!"; + EXPECT_EQ(24u , mesh.n_halfedges()) << "The number of loaded halfedges is not correct!"; +} + + +/* + * Just load a triangles mesh from an om file of version 10.5 + */ +TEST_F(OpenMeshReadWriteOM, LoadTriMeshVersion_10_5) { + + PolyMesh mesh; + + std::string file_name = "cube_tri_version_10_.om"; + + bool ok = OpenMesh::IO::read_mesh(mesh, file_name); + + EXPECT_FALSE(ok) << file_name; +} + }