Abstrakte Klasse zu allen Configs hinzugefügt. Tests zum Auslesen für Werkstoffe und Materialien (Übergang alt -> neu) erstellt

This commit is contained in:
2023-12-14 16:52:13 +01:00
parent c0f2758e01
commit 7120a762eb
2 changed files with 234 additions and 20 deletions
+157
View File
@@ -209,6 +209,163 @@ class TestTOSGroupsGeneral(unittest.TestCase):
'TOS_Betriebsmittel': 2}
self.assertCountEqual(allKeywords, result)
class TestMaterialien(unittest.TestCase):
def setUp(self):
self.materials_str = """
{
"1.4301": {
"Werkstoff": "1.4301 (X5CrNi18-10)",
"Werkstofftyp": "Stahl"
},
"1.4305": {
"Werkstoff": "1.4305 (X8CrNiS18-9)",
"Werkstofftyp": "Stahl"
},
"1.4305 / 671": {
"Werkstoff": "1.4305 (X8CrNiS18-9)",
"Werkstofftyp": "Stahl"
},
"PA6 GF30": {
"Werkstoff": "PA 6 GF 30",
"Werkstofftyp": "Kunst-/ Verbundstoff",
"Oberfläche": "Masterbatch (Grundfarbe)"
},
"S235JR galv. verzinkt Fe/Zn 8-15 B": {
"Werkstoff": "1.0038 (S235JR) ",
"Werkstofftyp": "Stahl",
"Oberfläche": "verzinken"
},
"VA": {
"Werkstoff": "false",
"Message": "individuell nach Verwendungszweck anhand von Stahlschlüssel anpassen"
}
}
"""
def test_get_all_materials_from_string(self):
"""
Test whether all materials are found
"""
TOS_CFG = manage_configs.MaterialTransConfig()
TOS_CFG.from_json(self.materials_str)
allMaterials = TOS_CFG.get_all_materials()
result = ["1.4301", "1.4305", "1.4305 / 671", "PA6 GF30", "S235JR galv. verzinkt Fe/Zn 8-15 B", "VA"]
self.assertCountEqual(allMaterials, result)
def test_get_material_of_type(self):
"""
Test whether material of steel, etc. is found
"""
TOS_CFG = manage_configs.MaterialTransConfig()
TOS_CFG.from_json(self.materials_str)
content = TOS_CFG.get_material_of_type("1.4301")
self.assertCountEqual(content, { 'Werkstoff': '1.4301 (X5CrNi18-10)', 'Werkstofftyp': 'Stahl'})
content = TOS_CFG.get_material_of_type("VA")
self.assertCountEqual(content, {"Werkstoff": "false", "Message": "individuell nach Verwendungszweck anhand von Stahlschlüssel anpassen"})
class TestWerkstoffeFromLocalConfigs(unittest.TestCase):
def setUp(self):
self.config_dir = os.environ.get('CREMIG_CFG')
def test_get_wkstoffe_of_type(self):
"""
get list of steels, aluminum, etc.
"""
WKST_CFG = manage_configs.WerkstoffeConfig(self.config_dir, 'Werkstoff.cfg')
steels = WKST_CFG.get_werkstoffe_of_type("Stahl")
result = ['1.0035 (S185)', '1.0038 (S235JR)', '1.0122 (S235JRC)',
'1.0122+C (S235JRC+C)', '1.0330 (DC01)', '1.0401 (C15)',
'1.0501 (C35)', '1.0503 (C45)', '1.0503+N (C45+N)',
'1.0553 (S355J0)', '1.0577 (S355J2)', '1.0711 (9S20)',
'1.0715 (11SMn30)', '1.0715+C (11SMn30+C)', '1.0917 (DX51D+Z)',
'1.1191 (C45E)', '1.2842 (90MnCrV8)', '1.4035 (X45CrS13)',
'1.4301 (X5CrNi18-10)', '1.4305 (X8CrNiS18-9)',
'1.4310 (X10CrNi18-8)', '1.5023 (38Si7)', '1.7131 (16MnCr5)',
'siehe Hersteller' ]
self.assertCountEqual(steels, result)
steels = WKST_CFG.get_werkstoffe_of_type("Aluminium")
result = [ "EN AW-1050A (3.0255)", "EN AW-2007 (3.1645)", "EN AW-2014-T3 (3.1255-T3)",
"EN AW-2014-T4 (3.1255-T4)", "EN AW-6060 (3.3206)",
"EN AW-6060-T66 (3.3206-T66)", "EN AW-7075 (3.4365)",
"EN AW-6063-T66", 'siehe Hersteller' ]
self.assertCountEqual(steels, result)
class TestWerkstoffe(unittest.TestCase):
def setUp(self):
self.wkstoffe = """
[Werkstofftyp]
Stahl
Aluminium
Kunst-/ Verbundstoff
Schwermetall
Festigkeitsklasse
siehe Hersteller
[Stahl]
1.0035 (S185)
1.0038 (S235JR)
1.0122 (S235JRC)
1.0122+C (S235JRC+C)
1.0330 (DC01)
1.0401 (C15)
1.0501 (C35)
1.0503 (C45)
1.0503+N (C45+N)
siehe Hersteller
[Aluminium]
EN AW-1050A (3.0255)
EN AW-2007 (3.1645)
EN AW-2014-T3 (3.1255-T3)
EN AW-7075 (3.4365)
EN AW-6063-T66
siehe Hersteller
[Kunst-/ Verbundstoff]
ABS
ASA
CR/SBR-A65
Hostaform 13031 MB1.5
Irogran A87
Murtfeldt "S" 1000
PA
PA 2200
PA 2200 SLS
POM
POM-C
POM-H
siehe Hersteller
"""
def test_get_wkstoffe_of_type(self):
"""
get list of steels
"""
WKST_CFG = manage_configs.WerkstoffeConfig()
WKST_CFG.from_cfg_str(self.wkstoffe)
steels = WKST_CFG.get_werkstoffe_of_type("Stahl")
result = ["1.0035 (S185)", "1.0038 (S235JR)", "1.0122 (S235JRC)",
"1.0122+C (S235JRC+C)", "1.0330 (DC01)", "1.0401 (C15)", "1.0501 (C35)",
"1.0503 (C45)", "1.0503+N (C45+N)", "siehe Hersteller"]
self.assertCountEqual(steels, result)
if __name__ == '__main__':
unittest.main()