From 0490c0195a0aea7aebd2c270858a9992b4104069 Mon Sep 17 00:00:00 2001 From: wmayer Date: Wed, 29 May 2024 15:04:37 +0200 Subject: [PATCH] tests: Add unit tests for getElementTypes() --- tests/src/Mod/Mesh/App/CMakeLists.txt | 1 + tests/src/Mod/Mesh/App/MeshFeature.cpp | 40 ++++++++++++++++++++++ tests/src/Mod/Part/App/PartFeature.cpp | 22 ++++++++++++ tests/src/Mod/Points/App/CMakeLists.txt | 1 + tests/src/Mod/Points/App/PointsFeature.cpp | 36 +++++++++++++++++++ 5 files changed, 100 insertions(+) create mode 100644 tests/src/Mod/Mesh/App/MeshFeature.cpp create mode 100644 tests/src/Mod/Points/App/PointsFeature.cpp diff --git a/tests/src/Mod/Mesh/App/CMakeLists.txt b/tests/src/Mod/Mesh/App/CMakeLists.txt index 4b177dad2d..a0ede073d6 100644 --- a/tests/src/Mod/Mesh/App/CMakeLists.txt +++ b/tests/src/Mod/Mesh/App/CMakeLists.txt @@ -4,4 +4,5 @@ target_sources( ${CMAKE_CURRENT_SOURCE_DIR}/Core/KDTree.cpp ${CMAKE_CURRENT_SOURCE_DIR}/Exporter.cpp ${CMAKE_CURRENT_SOURCE_DIR}/Mesh.cpp + ${CMAKE_CURRENT_SOURCE_DIR}/MeshFeature.cpp ) diff --git a/tests/src/Mod/Mesh/App/MeshFeature.cpp b/tests/src/Mod/Mesh/App/MeshFeature.cpp new file mode 100644 index 0000000000..09305b8802 --- /dev/null +++ b/tests/src/Mod/Mesh/App/MeshFeature.cpp @@ -0,0 +1,40 @@ +#include "gtest/gtest.h" +#include +#include + +class MeshFeatureTest: public ::testing::Test +{ +protected: + static void SetUpTestSuite() + { + tests::initApplication(); + } + + void SetUp() override + {} + + void TearDown() override + {} +}; + +// NOLINTBEGIN(cppcoreguidelines-*,readability-*) +TEST_F(MeshFeatureTest, getElementTypes) +{ + Mesh::Feature mf; + std::vector types = mf.getElementTypes(); + + EXPECT_EQ(types.size(), 2); + EXPECT_STREQ(types[0], "Mesh"); + EXPECT_STREQ(types[1], "Segment"); +} + +TEST_F(MeshFeatureTest, getComplexElementTypes) +{ + Mesh::MeshObject mf; + std::vector types = mf.getElementTypes(); + + EXPECT_EQ(types.size(), 2); + EXPECT_STREQ(types[0], "Mesh"); + EXPECT_STREQ(types[1], "Segment"); +} +// NOLINTEND(cppcoreguidelines-*,readability-*) diff --git a/tests/src/Mod/Part/App/PartFeature.cpp b/tests/src/Mod/Part/App/PartFeature.cpp index 7b0522acf6..fe86470e9f 100644 --- a/tests/src/Mod/Part/App/PartFeature.cpp +++ b/tests/src/Mod/Part/App/PartFeature.cpp @@ -216,3 +216,25 @@ TEST_F(FeaturePartTest, getSubObject) ASSERT_NE(result, nullptr); EXPECT_STREQ(result->getNameInDocument(), "Part__Box001"); } + +TEST_F(FeaturePartTest, getElementTypes) +{ + Part::Feature pf; + std::vector types = pf.getElementTypes(); + + EXPECT_EQ(types.size(), 3); + EXPECT_STREQ(types[0], "Face"); + EXPECT_STREQ(types[1], "Edge"); + EXPECT_STREQ(types[2], "Vertex"); +} + +TEST_F(FeaturePartTest, getComplexElementTypes) +{ + Part::TopoShape shape; + std::vector types = shape.getElementTypes(); + + EXPECT_EQ(types.size(), 3); + EXPECT_STREQ(types[0], "Face"); + EXPECT_STREQ(types[1], "Edge"); + EXPECT_STREQ(types[2], "Vertex"); +} diff --git a/tests/src/Mod/Points/App/CMakeLists.txt b/tests/src/Mod/Points/App/CMakeLists.txt index 1e65356610..bd142d47d5 100644 --- a/tests/src/Mod/Points/App/CMakeLists.txt +++ b/tests/src/Mod/Points/App/CMakeLists.txt @@ -2,4 +2,5 @@ target_sources( Points_tests_run PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/Points.cpp + ${CMAKE_CURRENT_SOURCE_DIR}/PointsFeature.cpp ) diff --git a/tests/src/Mod/Points/App/PointsFeature.cpp b/tests/src/Mod/Points/App/PointsFeature.cpp new file mode 100644 index 0000000000..bf03f293c4 --- /dev/null +++ b/tests/src/Mod/Points/App/PointsFeature.cpp @@ -0,0 +1,36 @@ +#include "gtest/gtest.h" +#include +#include + +class PointsFeatureTest: public ::testing::Test +{ +protected: + static void SetUpTestSuite() + { + tests::initApplication(); + } + + void SetUp() override + {} + + void TearDown() override + {} +}; + +// NOLINTBEGIN(cppcoreguidelines-*,readability-*) +TEST_F(PointsFeatureTest, getElementTypes) +{ + Points::Feature pf; + std::vector types = pf.getElementTypes(); + + EXPECT_EQ(types.size(), 0); +} + +TEST_F(PointsFeatureTest, getComplexElementTypes) +{ + Points::PointKernel pk; + std::vector types = pk.getElementTypes(); + + EXPECT_EQ(types.size(), 0); +} +// NOLINTEND(cppcoreguidelines-*,readability-*)