From 12a648145a0a349e8fbf7ad034d8405d572bddac Mon Sep 17 00:00:00 2001 From: Chris Hennes Date: Mon, 25 Nov 2024 23:09:35 -0600 Subject: [PATCH] Spreadsheet: Add C++ test framework --- tests/CMakeLists.txt | 3 ++ tests/src/Mod/CMakeLists.txt | 3 ++ tests/src/Mod/Spreadsheet/App/CMakeLists.txt | 11 +++++ .../src/Mod/Spreadsheet/App/PropertySheet.cpp | 43 +++++++++++++++++++ tests/src/Mod/Spreadsheet/CMakeLists.txt | 17 ++++++++ 5 files changed, 77 insertions(+) create mode 100644 tests/src/Mod/Spreadsheet/App/CMakeLists.txt create mode 100644 tests/src/Mod/Spreadsheet/App/PropertySheet.cpp create mode 100644 tests/src/Mod/Spreadsheet/CMakeLists.txt diff --git a/tests/CMakeLists.txt b/tests/CMakeLists.txt index c60c20e7cc..1499ace2cb 100644 --- a/tests/CMakeLists.txt +++ b/tests/CMakeLists.txt @@ -117,6 +117,9 @@ endif(BUILD_POINTS) if(BUILD_SKETCHER) list (APPEND TestExecutables Sketcher_tests_run) endif(BUILD_SKETCHER) +if(BUILD_SPREADSHEET) + list (APPEND TestExecutables Spreadsheet_tests_run) +endif() # ------------------------- diff --git a/tests/src/Mod/CMakeLists.txt b/tests/src/Mod/CMakeLists.txt index faf7feabe1..4f7578400a 100644 --- a/tests/src/Mod/CMakeLists.txt +++ b/tests/src/Mod/CMakeLists.txt @@ -25,3 +25,6 @@ endif(BUILD_POINTS) if(BUILD_SKETCHER) add_subdirectory(Sketcher) endif(BUILD_SKETCHER) +if(BUILD_SPREADSHEET) + add_subdirectory(Spreadsheet) +endif() diff --git a/tests/src/Mod/Spreadsheet/App/CMakeLists.txt b/tests/src/Mod/Spreadsheet/App/CMakeLists.txt new file mode 100644 index 0000000000..76b1659d6e --- /dev/null +++ b/tests/src/Mod/Spreadsheet/App/CMakeLists.txt @@ -0,0 +1,11 @@ +target_sources( + Spreadsheet_tests_run + PRIVATE + ${CMAKE_CURRENT_SOURCE_DIR}/PropertySheet.cpp +) + +target_include_directories( + Spreadsheet_tests_run + PUBLIC + ${CMAKE_BINARY_DIR} +) diff --git a/tests/src/Mod/Spreadsheet/App/PropertySheet.cpp b/tests/src/Mod/Spreadsheet/App/PropertySheet.cpp new file mode 100644 index 0000000000..24a2c77b49 --- /dev/null +++ b/tests/src/Mod/Spreadsheet/App/PropertySheet.cpp @@ -0,0 +1,43 @@ +// SPDX-License-Identifier: LGPL-2.1-or-later + +#include +#include "src/App/InitApplication.h" + +#include + +#include +#include + +class PropertySheetTest: public ::testing::Test +{ +protected: + static void SetUpTestSuite() + { + tests::initApplication(); + } + void SetUp() override + { + _sheet = std::make_unique(); + _propertySheet = std::make_unique(_sheet.get()); + } + void TearDown() override + { + _sheet.reset(); + _propertySheet.reset(); + } + + /// Get a non-owning pointer to the internal PropertySheet for this test + Spreadsheet::PropertySheet* propertySheet() + { + return _propertySheet.get(); + } + +private: + std::unique_ptr _sheet; + std::unique_ptr _propertySheet; +}; + +TEST_F(PropertySheetTest, isValidCellAddressName) // NOLINT +{ + // Test some things +} diff --git a/tests/src/Mod/Spreadsheet/CMakeLists.txt b/tests/src/Mod/Spreadsheet/CMakeLists.txt new file mode 100644 index 0000000000..3c19e5c372 --- /dev/null +++ b/tests/src/Mod/Spreadsheet/CMakeLists.txt @@ -0,0 +1,17 @@ + +target_include_directories(Spreadsheet_tests_run PUBLIC + ${EIGEN3_INCLUDE_DIR} + ${OCC_INCLUDE_DIR} + ${Python3_INCLUDE_DIRS} + ${SMESH_INCLUDE_DIR} + ${VTK_INCLUDE_DIRS} + ${XercesC_INCLUDE_DIRS} +) + +target_link_libraries(Spreadsheet_tests_run + gtest_main + ${Google_Tests_LIBS} + Spreadsheet +) + +add_subdirectory(App)