From a0a989fe4c114f7f2b3123371c39ad29133bcbe3 Mon Sep 17 00:00:00 2001 From: Bernd Hahnebach Date: Fri, 11 Mar 2016 07:06:49 +0100 Subject: [PATCH] FEM: unit test, update FreeCAD file with objects from module TestFem --- src/Mod/Fem/App/CMakeLists.txt | 1 + src/Mod/Fem/CMakeLists.txt | 1 + src/Mod/Fem/test_files/ccx/cube.fcstd | Bin 12260 -> 24275 bytes 3 files changed, 2 insertions(+) diff --git a/src/Mod/Fem/App/CMakeLists.txt b/src/Mod/Fem/App/CMakeLists.txt index 1226cb5ba..bba77b7fb 100755 --- a/src/Mod/Fem/App/CMakeLists.txt +++ b/src/Mod/Fem/App/CMakeLists.txt @@ -130,6 +130,7 @@ SET(FemTests_SRCS test_files/ccx/cube_static.dat test_files/ccx/cube_static.frd test_files/ccx/cube_static_expected_values + test_files/ccx/cube.fcstd ) SET(FemBase_SRCS diff --git a/src/Mod/Fem/CMakeLists.txt b/src/Mod/Fem/CMakeLists.txt index 5d6e27bc9..dab91fe83 100755 --- a/src/Mod/Fem/CMakeLists.txt +++ b/src/Mod/Fem/CMakeLists.txt @@ -84,6 +84,7 @@ INSTALL( test_files/ccx/cube_static.dat test_files/ccx/cube_static.frd test_files/ccx/cube_static_expected_values + test_files/ccx/cube.fcstd DESTINATION Mod/Fem/test_files/ccx ) diff --git a/src/Mod/Fem/test_files/ccx/cube.fcstd b/src/Mod/Fem/test_files/ccx/cube.fcstd index e1a4b396da89a9413856596e7d0995b949da14be..025cf3aafc4602dcf568f668f32aa2ac0f2ba4ef 100644 GIT binary patch delta 15739 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 P;DdvJ#A+o>)1&=A9n{aB delta 3629 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 Y00Dq^2mk;A(Dik4LTg=s{t1Bp0X6}2&j0`b