Commit Graph

81 Commits

Author SHA1 Message Date
wmayer
b1f3fe9115 Tests: Add unit test for PR #16763 2024-11-22 12:05:30 +01:00
wmayer
3c1bf8e864 Core: Extend Color API
* Fix issues with alpha value <> transparency
* Use type traits to convert between different color classes (fixes #14515)
2024-11-15 12:25:25 -05:00
Kris Wilk
d1c04fd193 Prevent using reserved names for properties or aliases (Fix #16846) (#16902)
* Prevent naming properties with reserved words (Fix #16846)

* Prevent using reserved constant names for properties or aliases

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

* App: Add unit test for isTokenAConstant

---------

Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
Co-authored-by: Chris Hennes <chennes@pioneerlibrarysystem.org>
2024-10-03 10:03:10 -05:00
huguesdpdn-aerospace
611bab3d6d PD: Xerces-C++ - Prepare for the latest version (backward compatible) 2024-09-08 20:31:25 -05:00
bgbsww
0ab5887fe1 Toponaming: Missing shape hasher line; fixed cleaned Transformed 2024-08-13 07:07:59 -04:00
bgbsww
dc9849bdb7 Toponaming: Add missing TNP element name code; rough in more TNP tests (#14561)
* Add missing TNP element name code; rough in more TNP tests

* Update ElementNamingUtils.cpp

---------

Co-authored-by: Chris Hennes <chennes@pioneerlibrarysystem.org>
2024-07-08 18:43:42 -05:00
Chris Hennes
5e47f6804f Update for LibPack3 (#10337)
* cMake: Add base support for LibPack3

Minor changes to FreeCAD source code to support compiling with Qt 6.5 on MSVC,
and changes to cMake setup to support the new Libpack.

* NETGENPlugin: Fix compilation with MSVC and OCCT 7.8

* Material: Switch to Wrapped_ParseTupleAndKeywords for /fpermissive- on MSVC

* Base: Prevent accidental definition of MIN and MAX by MSVC

* cMake: Prevent accidentally finding an old LibPack

* Material: Wrap another ParseTuple call

* OCCT: Modify includes for 7.8.x

* Part: Change TNP code to use Wrapped_ParseTupleAndArgs

* Spreadsheet: Workaround for MSVC macro pollution

* Mesh: Workaround for MSVC macro pollution

* Base: Remove extra MSVC flag (moved to CMake)

* Tests: Fix compiling with /permissive-

* FEM: Fix Qt warnings about duplicate element names

* cMake: Ensure major version numbers are set

* Address review comments.

* cMake: Further tweaks for LibPack3

* cMake: Modify specification of compiler flags for MSVC

* Main: Remove QtQuick testing code

* cmake: Find Boost before SMESH (which uses it)

* Fixes for LibPack2

* cMake: Another try at importinhg VTK cleanly
2024-06-24 18:25:05 +02:00
Chris Hennes
c622221c70 Test: Support system GTest, and give warning if no submodule (#13662) 2024-06-03 10:40:35 -05:00
Chris Hennes
cb789e1be9 Tests: Disable DocumentObserverTest pending refactor
The 'normalized' test fails on Windows Conda, and the overall test class needs work.
2024-05-01 10:28:08 -05:00
CalligaroV
767b2bd5e4 App/Toponaming: import SubObjectT dependencies for SubShapeBinder
* Fixed a mistake made in getSubObjectListFlatten()
 * Applied modifications according to review comments

Signed-off-by: CalligaroV <vincenzo.calligaro@gmail.com>
2024-04-29 11:42:18 -05:00
CalligaroV
3109301e52 App/Toponaming: import SubObjectT dependencies for SubShapeBinder
* Formatted and refactored code imported for the DocumentObject class
 * Formatted and refactored code imported for the SubObjectT class

Signed-off-by: CalligaroV <vincenzo.calligaro@gmail.com>
2024-04-29 11:42:18 -05:00
CalligaroV
2721918d10 App/Toponaming: import SubObjectT dependencies for SubShapeBinder
* Added test for SubObjectT::hasSubObject()
 * Added test for SubObjectT::hasSubElement()
 * Added test for SubObjectT::normalize()
 * Added test for SubObjectT::normalized()

Signed-off-by: CalligaroV <vincenzo.calligaro@gmail.com>
2024-04-29 11:42:18 -05:00
CalligaroV
38d9c936eb App/Toponaming: import SubObjectT dependencies for SubShapeBinder
* Added test for DocumentObject::getSubObjectList()

Signed-off-by: CalligaroV <vincenzo.calligaro@gmail.com>
2024-04-29 11:42:18 -05:00
Chris Hennes
9101454c4d Merge pull request #13495 from wwmayer/material_colors
Support to customize all material colors
2024-04-22 11:09:05 -05:00
farley
789bbeedf6 Core: Fix searching model tree does not work for numbers #12723 (#13377)
* Fix problem #12723: Searching model tree does not work for numbers
- Modify ExpressionTokenizer::perform
- Add tests tokenizeCompletion
2024-04-22 10:55:42 -05:00
wmayer
6d6ca16198 Tests: add unit tests for Color class 2024-04-19 13:07:54 +02:00
wmayer
90ba0e9d1f tests: add unit tests for VRML file with textures 2024-03-22 09:39:21 +01:00
wmayer
4e0ee0bd80 Tests: add test function to write to file stream 2024-03-11 16:05:30 +01:00
wmayer
2b7994459f Test: change license of test file 2024-03-09 16:18:14 +01:00
wmayer
915de5b4db Tests: add tests for ProjectFile 2024-03-08 22:25:59 -06:00
wmayer
12389fc549 Tests: fix compiler warning about unused parameters 2024-03-06 15:22:21 +01:00
bgbsww
5c582b7b2d Toposhape/Part:: fix, relocate and test element methods in ComplexGeoData and TopoShape 2024-03-04 17:16:59 -05:00
Vincenzo Calligaro
494df1d169 Part/Toponaming: Tests for flushElementMap and resetElementMap (#12471)
* Part/Toponaming: tests for flushElementMap and resetElementMap
 * Added test for resetElementMap()
 * Added test for flushElementMap()
 * restored ComplexGeoData::resetElementMap to RT fork
 * modified TopoShape::resetElementMap to match the restored signature of ComplexGeoData::resetElementMap
 * added checks in TopoShape::makeShapeWithElementMap to avoid segfaults
 * added check in TopoShape::setElementComboName to avoid segfaults
 * restored testFindSubShapesForSourceWithTypeAndIndex
 * modified test saveDocFileWithNoElementMap to match the restored signature of ComplexGeoData::resetElementMap
* Part/Toponaming: tests for flushElementMap and resetElementMap
 * Removed comments in ComplexGeoData::resetElementMap()
 * Changed TopoShape::resetElementMap():: from virtual to override
 * Removed comment in TopoShape::resetElementMap()
 * Added comments about differences between main and RT fork
 * Removed comment in test saveDocFileWithNoElementMap
 * Updated expected test result in makeElementCompoundTwoShapesGeneratesMap
 * Updated expected test result in resetElementMapTest
 * Fixed typo in test flushElementMapTest
* Part/Toponaming: tests for flushElementMap and resetElementMap
 * updated expected tests results after previous methods modifications

---------

Signed-off-by: CalligaroV <vincenzo.calligaro@gmail.com>
2024-02-29 13:27:27 -06:00
Pieter Hijma
402421f6aa [Core] Managing Custom Data Elements: VarSet (#12135)
* [Core] Add a basic VarSet document object

* [Core] Add basic tests for VarSets

* Core: Replace the VarSet icon with an outlined one
2024-02-21 10:38:06 +01:00
wmayer
ce59cc0bdc Tests: add unit tests for all token types defined in ExpressionParser.l 2024-02-21 07:32:14 +01:00
Andrei Pozolotin
9e1edf36f0 Resolve #11965 - no proper execute() for cross-property references
Solution B: parsequant() function
2024-02-19 11:12:52 -06:00
Chris Hennes
950507a498 Revert "Resolve #11825 - no automatic quantity conversion: App::anyToQuantity"
This reverts commit c1ef15fbdf5db5aaf2ec86cb44bff237d1966238.
2024-02-12 15:29:15 -06:00
bgbsww
57d8a9e61a Switch to using enum 2024-02-04 09:27:16 +01:00
bgbsww
a5cf4bdd33 Tweak resetElementMap to default to empty defined element map (#12098)
* Tweak resetElementMap tp default to empty defined element map

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

---------

Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
2024-01-24 21:24:08 -06:00
Chris Hennes
297dff5e9b Merge pull request #12007 from chennes/toponamingElementNameComparator
App/Toponaming: Add Comparator for mapped elements
2024-01-19 09:20:59 -06:00
Chris Hennes
36451d1add Tests/Toponaming: Add tests for ElementNameComparator
This verifies the existing functionality, but does not alter it. Two tests are disabled because they represent cases that the current code does not handle correctly. They are edge cases that are not expected in real code.
2024-01-16 19:25:38 -06:00
Ladislav Michl
5fe2b33bb0 Tests: Avoid use of fmtlib when not needed 2024-01-15 17:38:56 +01:00
Andrei Pozolotin
71a61cf423 Resolve #11825 - no automatic quantity conversion: App::anyToQuantity 2024-01-11 11:32:18 -06:00
Stefan Brüns
ffad094051 [App] Fix segfault due to missing Py_Initialize in StringIDRefTest
The PyObject desctructor requires an initialized interpreter, otherwise
PyGILState_Ensure crashes.

Fixes #11878
2024-01-10 22:34:04 -06:00
Chris Hennes
75547d04df App/Toponaming: Add basic tests for CGD serialization 2023-11-08 17:11:32 -06:00
wmayer
931fcdabbf tests: add initApplication() to avoid code duplications 2023-10-21 16:31:26 -05:00
wmayer
6ef99e413b Tests: suppress warning about intened self-assignment 2023-10-11 15:12:42 +02:00
wmayer
15622bb519 App: the function findLicense() uses the '==' operator to compare two C strings.
This is wrong and leads to failures under Windows.
2023-10-10 13:31:10 +02:00
Chris Hennes
de82b54b63 Merge pull request #10667 from chennes/toponamingHasherToDocument
App/Toponaming: Add StringHasher to Document
2023-09-20 13:31:02 -05:00
Pesc0
4767b116ec fix qbytearray length out of bound 2023-09-19 12:38:27 -05:00
wmayer
bd067fa203 Tests: fix a memory leak in StringIDRefTest::getPyObject 2023-09-18 14:58:38 +02:00
Chris Hennes
2f811201d6 App/Toponaming: Add a few tests for Document 2023-09-17 13:13:37 -05:00
Chris Hennes
9b55b3a70b App/Toponaming: Add StringHasher to Document 2023-09-17 13:13:37 -05:00
pre-commit-ci[bot]
e92ed45df9 [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
2023-09-12 13:02:35 -04:00
Chris Hennes
246a387625 Tests: Reformat to current clang-format standard 2023-09-03 09:51:42 -05:00
wmayer
9dd4779252 Test: add more unit tests 2023-08-26 13:17:53 +02:00
Chris Hennes
6a9efd6731 App/Toponaming: Add tests for findTagInElementName
Also apply clang-tidy to that function, and fix an error with the postfix return.
2023-07-15 22:47:08 -05:00
Chris Hennes
66f6350fd3 App/Toponaming: Basic tests and linter issues 2023-07-14 23:03:18 -05:00
Pesc0
c65f049d20 [Toponaming] create ElementMap class (#9175)
* Copypaste ElementMap
* Add MappedNameRef
* Fix missing include
* Copypaste `findTagInElementName`
* fix error introduced _somewhere_
* refactor toponaming constants
* Move `findTagInElementName` in `MappedName`
* reintroduce workaround to compile ElementMap
* Added missing functions copied from complexgeodata
* fix last compile errors, reorder and format files
* remove recursive refs to ComplexGeoData
* Add more comments
* fixed comments and added tests
* added FIXME, make functions private, misc fixes
* Move static functions from complexGeoData to PostfixStringReferences. Rename to ElementNamingUtils
* Fix broken includes due to previous change
* Revert constants from string to const char*
* added childmap tests and made hasher public
* Make functions private
* Added remaining tests
* removed bool return from `erase` functions
* fix missing appexport

Co-authored-by: John Dupuy <jdupuy98@gmail.com>
2023-06-15 09:05:24 -05:00
Chris Hennes
41a924ccec App/Toponaming: Adjust StringHasher tests 2023-05-11 16:41:52 -05:00