From 815458435dcd55184fdc4de98f2bfd70f42e5719 Mon Sep 17 00:00:00 2001 From: wmayer Date: Wed, 20 Mar 2024 17:35:47 +0100 Subject: [PATCH] Tests: add test for attach extension Create two plane features and map the second on the first plane with map mode 'FlatFace' --- tests/src/Mod/Part/App/AttachExtension.cpp | 56 ++++++++++++++++++++++ tests/src/Mod/Part/App/CMakeLists.txt | 1 + 2 files changed, 57 insertions(+) create mode 100644 tests/src/Mod/Part/App/AttachExtension.cpp diff --git a/tests/src/Mod/Part/App/AttachExtension.cpp b/tests/src/Mod/Part/App/AttachExtension.cpp new file mode 100644 index 0000000000..58de7339cf --- /dev/null +++ b/tests/src/Mod/Part/App/AttachExtension.cpp @@ -0,0 +1,56 @@ +// SPDX-License-Identifier: LGPL-2.1-or-later + +#include "gtest/gtest.h" + +#include +#include +#include + + +class AttachExtensionTest: public ::testing::Test +{ +protected: + static void SetUpTestSuite() + { + tests::initApplication(); + } + + void SetUp() override + { + _docName = App::GetApplication().getUniqueDocumentName("test"); + _doc = App::GetApplication().newDocument(_docName.c_str(), "testUser"); + } + + void TearDown() override + { + App::GetApplication().closeDocument(_docName.c_str()); + } + + App::Document* getDocument() const + { + return _doc; + } + +private: + std::string _docName; + App::Document* _doc = nullptr; +}; + +TEST_F(AttachExtensionTest, testPlanePlane) +{ + auto plane1 = dynamic_cast(getDocument()->addObject("Part::Plane", "Plane1")); + auto plane2 = dynamic_cast(getDocument()->addObject("Part::Plane", "Plane2")); + + ASSERT_TRUE(plane1); + ASSERT_TRUE(plane2); + + getDocument()->recompute(); + + plane2->MapReversed.setValue(false); + plane2->AttachmentSupport.setValue(plane1); + plane2->MapPathParameter.setValue(0.0); + plane2->MapMode.setValue("FlatFace"); + + getDocument()->recompute(); + EXPECT_TRUE(true); +} diff --git a/tests/src/Mod/Part/App/CMakeLists.txt b/tests/src/Mod/Part/App/CMakeLists.txt index 8aa815b1b9..1ed7a48601 100644 --- a/tests/src/Mod/Part/App/CMakeLists.txt +++ b/tests/src/Mod/Part/App/CMakeLists.txt @@ -3,6 +3,7 @@ target_sources( Part_tests_run PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/Attacher.cpp + ${CMAKE_CURRENT_SOURCE_DIR}/AttachExtension.cpp ${CMAKE_CURRENT_SOURCE_DIR}/BRepMesh.cpp ${CMAKE_CURRENT_SOURCE_DIR}/FeatureChamfer.cpp ${CMAKE_CURRENT_SOURCE_DIR}/FeatureCompound.cpp