FEM: unit tests, test values and units of known quantities from all build in solid materials
This commit is contained in:
@@ -99,6 +99,7 @@ gf()
|
||||
./bin/FreeCADCmd --run-test "femtest.testcommon.TestFemCommon.test_adding_refshaps"
|
||||
./bin/FreeCADCmd --run-test "femtest.testcommon.TestFemCommon.test_pyimport_all_FEM_modules"
|
||||
./bin/FreeCADCmd --run-test "femtest.testmaterial.TestMaterialUnits.test_known_quantity_units"
|
||||
./bin/FreeCADCmd --run-test "femtest.testmaterial.TestMaterialUnits.test_material_card_quantities"
|
||||
./bin/FreeCADCmd --run-test "femtest.testmesh.TestMeshCommon.test_mesh_seg2_python"
|
||||
./bin/FreeCADCmd --run-test "femtest.testmesh.TestMeshCommon.test_mesh_seg3_python"
|
||||
./bin/FreeCADCmd --run-test "femtest.testmesh.TestMeshCommon.test_unv_save_load"
|
||||
@@ -148,6 +149,9 @@ unittest.TextTestRunner().run(unittest.TestLoader().loadTestsFromName("femtest.t
|
||||
import unittest
|
||||
unittest.TextTestRunner().run(unittest.TestLoader().loadTestsFromName("femtest.testmaterial.TestMaterialUnits.test_known_quantity_units"))
|
||||
|
||||
import unittest
|
||||
unittest.TextTestRunner().run(unittest.TestLoader().loadTestsFromName("femtest.testmaterial.TestMaterialUnits.test_material_card_quantities"))
|
||||
|
||||
import unittest
|
||||
unittest.TextTestRunner().run(unittest.TestLoader().loadTestsFromName("femtest.testmesh.TestMeshCommon.test_mesh_seg2_python"))
|
||||
|
||||
|
||||
@@ -27,6 +27,8 @@ import FreeCAD
|
||||
import unittest
|
||||
from .utilstest import fcc_print
|
||||
|
||||
from os.path import join
|
||||
|
||||
|
||||
class TestMaterialUnits(unittest.TestCase):
|
||||
fcc_print('import TestMaterialUnits')
|
||||
@@ -54,6 +56,34 @@ class TestMaterialUnits(unittest.TestCase):
|
||||
.format(param)
|
||||
)
|
||||
|
||||
def test_material_card_quantities(self):
|
||||
# test the value and unit of known quantity parameter from solid build in material cards
|
||||
# keep in mind only if FreeCAD is installed all materials are copied
|
||||
# TODO Fluid materials (are they installed?)
|
||||
|
||||
# get build in materials
|
||||
builtin_solid_mat_dir = join(FreeCAD.getResourceDir(), "Mod", "Material", "StandardMaterial")
|
||||
fcc_print('{}'.format(builtin_solid_mat_dir))
|
||||
from materialtools.cardutils import add_cards_from_a_dir as addmats
|
||||
materials, cards, icons = addmats({}, {}, {}, builtin_solid_mat_dir, '')
|
||||
|
||||
# get known material quantity parameter
|
||||
from materialtools.cardutils import get_known_material_quantity_parameter as knownquant
|
||||
known_quantities = knownquant()
|
||||
|
||||
# check param, value pairs
|
||||
from materialtools.cardutils import check_value_unit as checkvalueunit
|
||||
for mat in materials:
|
||||
fcc_print('{}'.format(mat))
|
||||
for param, value in materials[mat].items():
|
||||
if param in known_quantities:
|
||||
# fcc_print(' {} --> {}'.format(param, value))
|
||||
self.assertTrue(
|
||||
checkvalueunit(param, value),
|
||||
'Unit of quantity {} from material parameter {} is wrong.'
|
||||
.format(value, param)
|
||||
)
|
||||
|
||||
def tearDown(self):
|
||||
# clearance, is executed after every test
|
||||
FreeCAD.closeDocument(self.doc_name)
|
||||
|
||||
Reference in New Issue
Block a user