Mengengerüst auf variable Argumentliste umgestellt, damit Testen leichter möglich wird und nur noch Angaben gemacht werden müssen die man zum Test verwendet. Alle Tests im __main versammelt. Einfaches auskommentieren reicht zum Durchlauf des gewählten Tests
This commit is contained in:
+91
-24
@@ -8,7 +8,18 @@ JSON_IDENT =5
|
||||
# Press Umschalt+F10 to execute it or replace it with your code.
|
||||
# Press Double Shift to search everywhere for classes, files, tool windows, actions, and settings.
|
||||
class MG():
|
||||
def __init__(self, deckblatt:dict, rsm_direct:dict, rsm_fa:dict, flyer_f40:dict, neuenhauser:dict, flyer:dict, verbindungsstrecken_w:dict, puffer:dict, turm:dict):
|
||||
def __init__(self, deckblatt:dict, **kwargs):
|
||||
"""
|
||||
kwargs can contain the keys
|
||||
rsm_direct
|
||||
rsm_fa
|
||||
flyer_f40
|
||||
neuenhauser
|
||||
flyer
|
||||
verbindungsstrecken_w
|
||||
puffer
|
||||
turm
|
||||
"""
|
||||
mengen = {
|
||||
#"SYSTEM":"",
|
||||
#"RSM":0,
|
||||
@@ -29,6 +40,7 @@ class MG():
|
||||
#"Turm":0,
|
||||
#"Turm_Anzahl_Wendlungen":0,
|
||||
}
|
||||
|
||||
# wenn Flyer Electrojet 1, dann sollten Vor- und Nachpuffer größer 1 sein
|
||||
# wenn Neuenhauser 1, dann sollten Vor- und Nachpuffer größer 1 sein
|
||||
# wenn Cason 1, dann sollten Vor- und Nachpuffer größer 1 sein
|
||||
@@ -37,29 +49,50 @@ class MG():
|
||||
# Turm: kein Kriterium
|
||||
self._deckblatt = deckblatt
|
||||
self._RSM_Anzahl = deckblatt.get("RSM", 0)
|
||||
rsm_direct_mengen = rsm_direct
|
||||
rsm_direct_mengen = {}
|
||||
if "rsm_direct" in kwargs:
|
||||
rsm_direct_mengen = kwargs['rsm_direct']
|
||||
|
||||
rsm_direct_mengen["Anzahl"] = self._RSM_Anzahl #übernahme aus deckblatt
|
||||
rsm_fa_mengen = rsm_fa
|
||||
rsm_fa_mengen = {}
|
||||
if "rsm_fa" in kwargs:
|
||||
rsm_fa_mengen = kwargs['rsm_fa']
|
||||
rsm_fa_mengen["Anzahl_RSM"] = self._RSM_Anzahl #übernahme aus deckblatt
|
||||
flyer_f40_mengen = flyer_f40
|
||||
|
||||
flyer_f40_mengen = {}
|
||||
if "flyer_f40" in kwargs:
|
||||
flyer_f40_mengen = kwargs['flyer_f40']
|
||||
flyer_f40_mengen["Flyer_Electrojet_incl_intergrierte_Putzmaschine"] = deckblatt.get("Flyer_Electrojet_incl_intergrierte_Putzmaschine", 0) #übernahme aus deckblatt
|
||||
flyer_f40_mengen["Flyer_Electrojet_incl_intergrierte_Putzmaschine_Vorpuffer"] = deckblatt.get("Flyer_Electrojet_incl_intergrierte_Putzmaschine_Vorpuffer", 0) #übernahme aus deckblatt
|
||||
flyer_f40_mengen["Flyer_Electrojet_incl_intergrierte_Putzmaschine_Nachpuffer"] = deckblatt.get("Flyer_Electrojet_incl_intergrierte_Putzmaschine_Nachpuffer", 0) #übernahme aus deckblatt
|
||||
neuenhauser_mengen = neuenhauser
|
||||
|
||||
neuenhauser_mengen = {}
|
||||
if "neuenhauser" in kwargs:
|
||||
neuenhauser_mengen = kwargs['neuenhauser']
|
||||
neuenhauser_mengen["Neuenhauser-Putzmaschine"] = deckblatt.get("Neuenhauser-Putzmaschine", 0)
|
||||
neuenhauser_mengen["Neuenhauser-Putzmaschine_Vorpuffer"] = deckblatt.get("Neuenhauser-Putzmaschine_Vorpuffer", 0)
|
||||
neuenhauser_mengen["Neuenhauser-Putzmaschine_Nachpuffer"] = deckblatt.get("Neuenhauser-Putzmaschine_Nachpuffer", 0)
|
||||
flyer_mengen = flyer
|
||||
flyer_mengen = {}
|
||||
if "flyer" in kwargs:
|
||||
flyer_mengen = kwargs['flyer']
|
||||
flyer_mengen["Anzahl"] = deckblatt.get("Flyer", 0)
|
||||
flyer_mengen["Flyer"] = deckblatt.get("Flyer", 0)
|
||||
flyer_mengen["Anzahl_Schienen"] = deckblatt.get("Flyer_Puffer", 0)
|
||||
puffer_mengen = puffer
|
||||
|
||||
puffer_mengen = {}
|
||||
if "puffer" in kwargs:
|
||||
puffer_mengen = kwargs['puffer']
|
||||
puffer_mengen["Puffer"] = deckblatt.get("Puffer", 0)
|
||||
puffer_mengen["Anzahl_Pufferstrecken"] = deckblatt.get("Anzahl_der_Pufferstrecken_pro_Puffer", 0)
|
||||
turm_mengen = turm
|
||||
|
||||
turm_mengen = {}
|
||||
if "turm" in kwargs:
|
||||
turm_mengen = kwargs['turm']
|
||||
turm_mengen["Turm"] = deckblatt.get("Turm", 0)
|
||||
turm_mengen["Anzahl_Wendlungen"] = deckblatt.get("Turm_Anzahl_Wendlungen", 0)
|
||||
verbindungsstrecken_w_mengen = verbindungsstrecken_w
|
||||
verbindungsstrecken_w_mengen = {}
|
||||
if "verbindungsstrecken_w" in kwargs:
|
||||
verbindungsstrecken_w_mengen = kwargs['verbindungsstrecken_w']
|
||||
|
||||
#überprüfe welche Art von System, setze dict der unrelevanten klasse = 0
|
||||
system = deckblatt.get("SYSTEM", "")
|
||||
@@ -1690,8 +1723,7 @@ class calc_main_tab():
|
||||
hotelkosten_pro_tag = 0
|
||||
|
||||
|
||||
# Press the green button in the gutter to run the script.
|
||||
if __name__ == '__main__':
|
||||
def test1_old():
|
||||
# Anzahl der für das Projekt benutzten
|
||||
deckblatt_eingabe = {
|
||||
"SYSTEM":"",
|
||||
@@ -1721,7 +1753,16 @@ if __name__ == '__main__':
|
||||
verbindungsstrecken_w_mengen = {}
|
||||
puffer_eingabe = {}
|
||||
turm_eingabe = {}
|
||||
mg = MG(deckblatt_eingabe, rsm_direct_eingabe, rsm_fa_eingabe, flyer_f40_eingabe, neuenhauser_eingabe, flyer_eingabe, verbindungsstrecken_w_mengen, puffer_eingabe, turm_eingabe)
|
||||
|
||||
mg = MG(deckblatt_eingabe,
|
||||
rsm_direct=rsm_direct_eingabe,
|
||||
rsm_fa=rsm_fa_eingabe,
|
||||
flyer_f40=flyer_f40_eingabe,
|
||||
neuenhauser=neuenhauser_eingabe,
|
||||
flyer=flyer_eingabe,
|
||||
verbindungsstrecken_w=verbindungsstrecken_w_mengen,
|
||||
puffer=puffer_eingabe,
|
||||
turm=turm_eingabe)
|
||||
|
||||
Anzahl_EAS = {
|
||||
"Bedienelemente_Steuerschrank" : 1,
|
||||
@@ -2017,7 +2058,15 @@ class TestObjectMethods(unittest.TestCase):
|
||||
}
|
||||
|
||||
|
||||
deckblatt = MG(deckblatt_eingabe, rsm_direct_eingabe, rsm_fa_eingabe, flyer_f40_eingabe, neuenhauser_eingabe, flyer_eingabe, puffer_eingabe, turm_eingabe)
|
||||
deckblatt = MG(deckblatt_eingabe,
|
||||
rsm_direct=rsm_direct_eingabe,
|
||||
rsm_fa=rsm_fa_eingabe,
|
||||
flyer_f40=flyer_f40_eingabe,
|
||||
neuenhauser=neuenhauser_eingabe,
|
||||
flyer=flyer_eingabe,
|
||||
verbindungsstrecken_w=verbindungsstrecken_w_mengen,
|
||||
puffer=puffer_eingabe,
|
||||
turm=turm_eingabe)
|
||||
#Testmethoden:
|
||||
'''
|
||||
# self.assertEqual(deckblatt._rsm_direct.anzahl("Anzahl"), 13)
|
||||
@@ -2131,8 +2180,6 @@ class TestObjectMethods(unittest.TestCase):
|
||||
self.assertEqual(deckblatt._turm.anzahl("RA_bi_ohne_SPS"), 26)
|
||||
self.assertEqual(deckblatt._turm.anzahl("Bedientableau_2fach"), 4)
|
||||
|
||||
|
||||
|
||||
def test_RSM_direct(self):
|
||||
Anzahl_RSM = {
|
||||
"Anzahl":0,
|
||||
@@ -2171,7 +2218,6 @@ class TestObjectMethods(unittest.TestCase):
|
||||
mg = RSM_direct(Anzahl_RSM)
|
||||
self.assertEqual(mg.anzahl("Anzahl_Strecken/RSM"), 8)
|
||||
|
||||
|
||||
def test_EA(self):
|
||||
Anzahl_EAS = {
|
||||
"bedienstation_einfach_Zug_Wechseln": 9,
|
||||
@@ -2199,7 +2245,6 @@ class TestObjectMethods(unittest.TestCase):
|
||||
self.assertEqual(eas.gesamt_E(), 9)
|
||||
self.assertEqual(eas.gesamt_A(), 25)
|
||||
|
||||
|
||||
def test_EA_implicit(self):
|
||||
Anzahl_EAS = {
|
||||
"Stopper": 5,
|
||||
@@ -2216,9 +2261,7 @@ class TestObjectMethods(unittest.TestCase):
|
||||
self.assertEqual(eas.gesamt_E(), 5)
|
||||
self.assertEqual(eas.gesamt_A(), 0)
|
||||
|
||||
|
||||
def test_EA_A_La_Presa(self):
|
||||
|
||||
Anzahl_EAS_A_La_Presa = {
|
||||
"Bedienelemente_Steuerschrank": 1,
|
||||
"bedienstation_einfach_Zug_Wechseln": 9,
|
||||
@@ -2401,7 +2444,6 @@ class TestObjectMethods(unittest.TestCase):
|
||||
self.assertEqual(hw.anzahl("motorschutzschalter"), 0)
|
||||
self.assertEqual(hw.anzahl("gemeinsame_wendung"), 1)
|
||||
|
||||
|
||||
#self.assertEqual(hw.anzahl("antrieb_bidirektional_halbleiter"), 13) #in HW korrekte Rechnung auskommentiert?
|
||||
#self.assertEqual(hw.summe_in_LL(), 8727)
|
||||
#self.assertEqual(hw.summe_vorort(), 5503)
|
||||
@@ -2421,6 +2463,16 @@ class TestObjectMethods(unittest.TestCase):
|
||||
}
|
||||
eas = EA(Anzahl_EAS)
|
||||
hw = HW(Anzahl_HW, eas)
|
||||
mg = MG(Anzahl_MG,
|
||||
rsm_direct=rsm_direct_eingabe,
|
||||
rsm_fa=rsm_fa_eingabe,
|
||||
flyer_f40=flyer_f40_eingabe,
|
||||
neuenhauser=neuenhauser_eingabe,
|
||||
flyer=flyer_eingabe,
|
||||
verbindungsstrecken_w=verbindungsstrecken_w_eingabe,
|
||||
puffer=puffer_eingabe,
|
||||
turm=turm_eingabe)
|
||||
hw = HW(Anzahl_HW, mg, eas)
|
||||
self.assertEqual(hw.anzahl("hauptschalter"), 2)
|
||||
self.assertEqual(hw.anzahl("panel_pc"), 1)
|
||||
print (hw)
|
||||
@@ -2441,10 +2493,8 @@ class TestObjectMethods(unittest.TestCase):
|
||||
# }
|
||||
# eas
|
||||
|
||||
#if __name__ == '__main__':
|
||||
# unittest.main()
|
||||
|
||||
if __name__ == '__main__':
|
||||
def test2():
|
||||
# Anzahl der für das Projekt benutzten
|
||||
Anzahl_MG = {
|
||||
"SYSTEM":"DIRECT",
|
||||
@@ -2673,7 +2723,16 @@ if __name__ == '__main__':
|
||||
"RA_bi_ohne_SPS_Korrektur":0,
|
||||
#"Bedientableau_2fach":0,
|
||||
}
|
||||
mg = MG(Anzahl_MG, rsm_direct_eingabe, rsm_fa_eingabe, flyer_f40_eingabe, neuenhauser_eingabe, flyer_eingabe, verbindungsstrecken_w_eingabe, puffer_eingabe, turm_eingabe)
|
||||
mg = MG(Anzahl_MG,
|
||||
rsm_direct=rsm_direct_eingabe,
|
||||
rsm_fa=rsm_fa_eingabe,
|
||||
flyer_f40=flyer_f40_eingabe,
|
||||
neuenhauser=neuenhauser_eingabe,
|
||||
flyer=flyer_eingabe,
|
||||
verbindungsstrecken_w=verbindungsstrecken_w_eingabe,
|
||||
puffer=puffer_eingabe,
|
||||
turm=turm_eingabe)
|
||||
|
||||
#mg.tofile()
|
||||
#mg.ztofile()
|
||||
Anzahl_EAS = {
|
||||
@@ -2703,3 +2762,11 @@ if __name__ == '__main__':
|
||||
"Erdung": 40,
|
||||
}
|
||||
emo = EMO(eas, hw, mg)
|
||||
|
||||
def test_Unittests():
|
||||
unittest.main()
|
||||
|
||||
if __name__ == '__main__':
|
||||
# test1_old()
|
||||
test2()
|
||||
# test_Unittests()
|
||||
|
||||
Reference in New Issue
Block a user