Test für Neuenhauser Putzmaschine angepasst. Jeweils 2 Vor und Nachpuffer hinzu. Standardabfragen für das Mengengerüst dazu
This commit is contained in:
Generated
+3
@@ -0,0 +1,3 @@
|
||||
# Default ignored files
|
||||
/shelf/
|
||||
/workspace.xml
|
||||
Vendored
+3
@@ -0,0 +1,3 @@
|
||||
{
|
||||
"python.formatting.provider": "yapf"
|
||||
}
|
||||
+52
-72
@@ -45,10 +45,30 @@ class MG():
|
||||
|
||||
self._deckblatt = deckblatt
|
||||
self.remove_empty(self._deckblatt)
|
||||
### Prüfungen:
|
||||
# wenn Flyer Electrojet 1, dann sollten Vor- und Nachpuffer größer 1 sein
|
||||
if deckblatt.get("Flyer_Electrojet_incl_intergrierte_Putzmaschine", 0) > 0:
|
||||
if deckblatt.get("Flyer_Electrojet_incl_intergrierte_Putzmaschine_Vorpuffer", 0) < 2:
|
||||
raise Exception("Vorpuffer sollte grösser 1 sein")
|
||||
if deckblatt.get("Flyer_Electrojet_incl_intergrierte_Putzmaschine_Nachpuffer", 0) < 2:
|
||||
raise Exception("Nachpuffer sollte grösser 1 sein")
|
||||
# wenn Neuenhauser 1, dann sollten Vor- und Nachpuffer größer 1 sein
|
||||
if deckblatt.get("Neuenhauser-Putzmaschine", 0) > 0:
|
||||
if deckblatt.get("Neuenhauser-Putzmaschine_Vorpuffer", 0) < 2:
|
||||
raise Exception("Vorpuffer der Neuenhauser sollte grösser 1 sein")
|
||||
if deckblatt.get("Neuenhauser-Putzmaschine_Nachpuffer", 0) < 2:
|
||||
raise Exception("Nachpuffer der Neuenhauser sollte grösser 1 sein")
|
||||
# wenn Cason 1, dann sollten Vor- und Nachpuffer größer 1 sein
|
||||
if deckblatt.get("Cason-Putzmaschine", 0) > 0:
|
||||
if deckblatt.get("Cason-Putzmaschine_Vorpuffer", 0) < 2:
|
||||
raise Exception("Vorpuffer der Cason sollte grösser 1 sein")
|
||||
if deckblatt.get("Cason-Putzmaschine_Nachpuffer", 0) < 2:
|
||||
raise Exception("Nachpuffer der Cason sollte grösser 1 sein")
|
||||
# wenn Puffer, dann mindestens 2 Strecken
|
||||
if deckblatt.get("Puffer", 0) > 0:
|
||||
if deckblatt.get("Anzahl_der_Pufferstrecken_pro_Puffer", 0) < 3:
|
||||
raise Exception("mind. 2 Strecken sollten existieren")
|
||||
|
||||
# Bypass, wenn mindestens 2 Flyer oder 2 RSM
|
||||
# Turm: kein Kriterium
|
||||
self._RSM_Anzahl = deckblatt.get("RSM", 0)
|
||||
@@ -940,16 +960,17 @@ class EA():
|
||||
}
|
||||
|
||||
self._Anzahl = anzahl
|
||||
self._Anzahl["Bedienelemente_Steuerschrank"] = 1 # es gibt immer genau einen Steuerschrank
|
||||
zmengen = mg.zusammenfassung()
|
||||
self._Anzahl["bedienstation_einfach_Zug_Wechseln"] = zmengen.get("Bedientableau_1fach", 0)
|
||||
self._Anzahl["bedienstation_automatische_Umfahrung"] = math.ceil(zmengen.get("Drucktaster_automatische_Umfahrung", 0)/4) # TODO warum durch 4?
|
||||
self._Anzahl["bedienstation_zweifach_Wechs_BCD_10f"] = mg.get_value_of_object("rsm_direct", "Bedientableau_2fach_Direct")
|
||||
|
||||
self._Anzahl["bedienstation_zweifach_Not_Aus_Reset"] = zmengen.get("Bedientableau_2fach", 0)
|
||||
# self._Anzahl["bedienst_dreifach"] = zmengen.get(, 0) TODO warum ist das leer
|
||||
# self._Anzahl["bedienst_dreifach"] = zmengen.get(, 0) # Eingaben
|
||||
# self._Anzahl["bedienst_vierfach"] = zmengen.get(, 0)
|
||||
# self._Anzahl["bedienst_sechsfach"] = zmengen.get(, 0)
|
||||
# self._Anzahl["EAs_Unterverteiler_direct"] = zmengen.get(, 0) # TODO HW Abhängigkeit ?
|
||||
self._Anzahl["EAs_Unterverteiler_direct"] = mg.get_value_of_object("rsm_direct", "Bedientableau_2fach_Direct")
|
||||
|
||||
# Ermittlung_Mengengeruest_Anzahl
|
||||
self._Anzahl["Sensor_Traversenabfrage_optisch"] = zmengen.get("Sensor_optisch_Traverse", 0) + zmengen.get("Sensor_Spulenprüfung_voll_leer", 0)
|
||||
@@ -960,7 +981,7 @@ class EA():
|
||||
|
||||
self._Anzahl["Weiche"] = zmengen.get("Weiche", 0)
|
||||
self._Anzahl["Weiche_nach_PM_bipolar"] = zmengen.get("Weiche_nach_PM_bipolar", 0)
|
||||
# self._Anzahl["gemeinsame_Weichenrueckstellung"] = zmengen.get(, 0) # TODO warum leer
|
||||
# self._Anzahl["gemeinsame_Weichenrueckstellung"] = zmengen.get(, 0) # Eingabe
|
||||
self._Anzahl["Dreifach_Weiche_DIRECT"] = zmengen.get("Dreifachweiche", 0)
|
||||
|
||||
|
||||
@@ -968,25 +989,25 @@ class EA():
|
||||
self._Anzahl["Stopper"] = zmengen.get("Stopper", 0)
|
||||
|
||||
self._Anzahl["Ventil_RA_3_2_abhebbar"] = zmengen.get("RA_uni_abhebbar", 0) +\
|
||||
zmengen.get("RA_uni_ohne_SPS_Ansteuerung", 0)
|
||||
# + zmengen.get("", 0) # TODO B65 ist immer 0
|
||||
zmengen.get("RA_uni_ohne_SPS_Ansteuerung", 0)+\
|
||||
zmengen.get("RA_bi_abhebbar", 0) +\
|
||||
self._Anzahl.get("RA_bidirektional_abhebbar_gemeinsWend", 0)
|
||||
# + zmengen.get("", 0) # TODO B65 ist immer 0; Vorgabe?
|
||||
self._Anzahl["Ventil_Doppelstreckenantrieb_5_2_abhebbar"] = zmengen.get("Doppelstreckenantrieb", 0)
|
||||
self._Anzahl["Blitzleuchte_Stoerung"] = zmengen.get("Werma_Rundumleuchte_Störung", 0)
|
||||
|
||||
|
||||
self._Anzahl["Schnittstelle_Flyer_ElectroJet"] = mg.get_value_of_object("flyer_f40_ejet_inc_putz", "Interface_Doffer") + \
|
||||
mg.get_value_of_object("flyer_ejet", "Interface_Doffer")
|
||||
# TODO die Referenz von MG B89 ist eine Leerzeile
|
||||
# TODO die Referenz von MG B89 ist eine Leerzeile -> 79
|
||||
# self._Anzahl["Schnittstelle_Flyer_Putzmaschine_ElectroJet"] = zmengen.get(, 0) # TODO ist leer
|
||||
self._Anzahl["Schnittstelle_Flyer_Neuhauser"] = mg.get_value_of_object("flyer_f40_ejet_inc_putz", "Interface_Doffer")
|
||||
self._Anzahl["Schnittstelle_Flyer_Neuhauser"] = mg.get_value_of_object("putzmaschine_neuenhauser", "Interface_Putzmaschine")
|
||||
self._Anzahl["FEldbux_UV_EinAusgang"] = mg.get_value_of_object("rsm_fa", "Meldelampe_Überstrom") + \
|
||||
mg.get_value_of_object("flyer_f40_ejet_inc_putz", "Meldelampe_Überstrom") + \
|
||||
mg.get_value_of_object("putzmaschine_neuenhauser", "Meldelampe_Überstrom") + \
|
||||
mg.get_value_of_object("flyer_ejet", "Meldelampe_Überstrom")
|
||||
|
||||
|
||||
# self._Anzahl["Spulenumsetzstation"] = zmengen.get(, 0) # ist immer 0
|
||||
|
||||
self._Anzahl["RA_unidirektional"] = zmengen.get("RA_uni", 0)
|
||||
self._Anzahl["RA_unidirektional_abhebbar"] =zmengen.get("RA_uni_abhebbar", 0)
|
||||
# self._Anzahl["RA_unidirektional_mit_gemeinsamer_Wendung"] = zmengen.get(, 0) # TODO immer 0
|
||||
@@ -1023,6 +1044,7 @@ class EA():
|
||||
|
||||
def gesamt_E(self):
|
||||
res = 0
|
||||
self.EAs
|
||||
for k,n in self._Anzahl.items():
|
||||
res += self.EAs[k][0] * n
|
||||
return res
|
||||
@@ -2291,7 +2313,8 @@ class TestObjectMethods(unittest.TestCase):
|
||||
"SYSTEM": "DIRECT",
|
||||
"RSM": 2,
|
||||
"Neuenhauser-Putzmaschine": 1,
|
||||
"Neuenhauser-Putzmaschine_Vorpuffer": 1,
|
||||
"Neuenhauser-Putzmaschine_Vorpuffer": 2,
|
||||
"Neuenhauser-Putzmaschine_Nachpuffer": 2,
|
||||
}
|
||||
mg = MG(Anzahl_MG)
|
||||
|
||||
@@ -2310,25 +2333,25 @@ class TestObjectMethods(unittest.TestCase):
|
||||
self.assertEqual(mg._rsm_direct.anzahl("Werma_Rundumleuchte_Störung"), 0)
|
||||
|
||||
# check the data of neuenhauser
|
||||
self.assertEqual(mg._neuenhauser.anzahl("Anzahl_Vorstaustrecken"), 1)
|
||||
self.assertEqual(mg._neuenhauser.anzahl("Anzahl_Nachstaustrecken"), 0)
|
||||
self.assertEqual(mg._neuenhauser.anzahl("Sensor_optisch_Traverse"), 4)
|
||||
self.assertEqual(mg._neuenhauser.anzahl("Anzahl_Vorstaustrecken"), 2)
|
||||
self.assertEqual(mg._neuenhauser.anzahl("Anzahl_Nachstaustrecken"), 2)
|
||||
self.assertEqual(mg._neuenhauser.anzahl("Sensor_optisch_Traverse"), 7)
|
||||
self.assertEqual(mg._neuenhauser.anzahl("Sensorik_Zugpositionierung"), 4)
|
||||
self.assertEqual(mg._neuenhauser.anzahl("Sensor_WT18_Spulenprüfung_voll_leer"), 2)
|
||||
self.assertEqual(mg._neuenhauser.anzahl("Bedientableau_2fach"), 1)
|
||||
self.assertEqual(mg._neuenhauser.anzahl("Interface_Putzmaschine"), 1)
|
||||
self.assertEqual(mg._neuenhauser.anzahl("Weiche"), 1)
|
||||
self.assertEqual(mg._neuenhauser.anzahl("Weiche_nach_PM_bipolar"), -1) # TODO negativ?
|
||||
self.assertEqual(mg._neuenhauser.anzahl("Weiche"), 2)
|
||||
self.assertEqual(mg._neuenhauser.anzahl("Weiche_nach_PM_bipolar"), 1) # TODO negativ?
|
||||
self.assertEqual(mg._neuenhauser.anzahl("RA_uni_abhebbar"), 1)
|
||||
self.assertEqual(mg._neuenhauser.anzahl("RA_uni_ohne_SPS_Ansteuerung"), 1)
|
||||
self.assertEqual(mg._neuenhauser.anzahl("RA_uni_abhebbar_unger_Sch"), 0)
|
||||
self.assertEqual(mg._neuenhauser.anzahl("Doppelstreckenantrieb"), 0)
|
||||
self.assertEqual(mg._neuenhauser.anzahl("Doppelstreckenantrieb"), 2)
|
||||
self.assertEqual(mg._neuenhauser.anzahl("Meldelampe_Überstrom"), 1)
|
||||
self.assertEqual(mg._neuenhauser.anzahl("Hauptschalter_Ein_Meldung"), 1)
|
||||
self.assertEqual(mg._neuenhauser.anzahl("Werma_Rundumleuchte_Störung"), 1)
|
||||
|
||||
zmengen = mg.zusammenfassung()
|
||||
self.assertEqual(zmengen["Sensor_optisch_Traverse"], 4)
|
||||
self.assertEqual(zmengen["Sensor_optisch_Traverse"], 7)
|
||||
self.assertEqual(zmengen["Sensor_induktiv_Spulenalter_Zug_positionierung"], 4)
|
||||
self.assertEqual(zmengen["Sensor_Spulenprüfung_voll_leer"], 2)
|
||||
self.assertEqual(zmengen["Seilzugsschalter"], 0)
|
||||
@@ -2338,14 +2361,14 @@ class TestObjectMethods(unittest.TestCase):
|
||||
self.assertEqual(zmengen["Bedientableau_14fach"], 0)
|
||||
self.assertEqual(zmengen["Interface_Putzmaschine"], 1)
|
||||
self.assertEqual(zmengen["Interface_Doffer"], 0)
|
||||
self.assertEqual(zmengen["Weiche"], 9)
|
||||
self.assertEqual(zmengen["Weiche"], 10)
|
||||
self.assertEqual(zmengen["Dreifachweiche"], 1)
|
||||
self.assertEqual(zmengen["Wechsel"], 0)
|
||||
self.assertEqual(zmengen["Stopper"], 0)
|
||||
self.assertEqual(zmengen["Meldelampe_Überstrom"], 2)
|
||||
self.assertEqual(zmengen["Hauptschalter_Ein_Meldung"], 2)
|
||||
self.assertEqual(zmengen["Werma_Rundumleuchte_Störung"], 1)
|
||||
self.assertEqual(zmengen["Weiche_nach_PM_bipolar"], -1) # TODO warum negativ?
|
||||
self.assertEqual(zmengen["Weiche_nach_PM_bipolar"], 1)
|
||||
self.assertEqual(zmengen["Kreuzungsweiche"], 0)
|
||||
self.assertEqual(zmengen["RA_uni"], 0)
|
||||
self.assertEqual(zmengen["RA_uni_abhebbar"], 1)
|
||||
@@ -2353,9 +2376,9 @@ class TestObjectMethods(unittest.TestCase):
|
||||
self.assertEqual(zmengen["RA_bi"], 0)
|
||||
self.assertEqual(zmengen["RA_bi_ohne_SPS-Ansteuerung"], 0)
|
||||
self.assertEqual(zmengen["RA_bi_abhebbar"], 1)
|
||||
self.assertEqual(zmengen["Doppelstreckenantrieb"], 16)
|
||||
self.assertEqual(zmengen["Doppelstreckenantrieb"], 18)
|
||||
self.assertEqual(zmengen["gemeinsame_Wendung"], 2)
|
||||
self.assertEqual(zmengen["Gesamtanzahl_Antriebe"], 19)
|
||||
self.assertEqual(zmengen["Gesamtanzahl_Antriebe"], 21)
|
||||
|
||||
def test_EA(self):
|
||||
Anzahl_MG = {
|
||||
@@ -2404,9 +2427,6 @@ class TestObjectMethods(unittest.TestCase):
|
||||
"EAs_Unterverteiler_direct": 10,
|
||||
}
|
||||
eas = EA(Anzahl_EAS, mg)
|
||||
# eas.get_SA()
|
||||
# eas.get_SE()
|
||||
|
||||
|
||||
### first test the input channels
|
||||
self.assertEqual(eas.getE("Bedienelemente_Steuerschrank"), 24)
|
||||
@@ -2439,7 +2459,7 @@ class TestObjectMethods(unittest.TestCase):
|
||||
self.assertEqual(eas.getE("Blitzleuchte_Stoerung"), 0)
|
||||
|
||||
self.assertEqual(eas.getE("Schnittstelle_Flyer_ElectroJet"), 2)
|
||||
self.assertEqual( eas.getE("Schnittstelle_Flyer_Putzmaschine_ElectroJet"), 2)
|
||||
self.assertEqual(eas.getE("Schnittstelle_Flyer_Putzmaschine_ElectroJet"), 2)
|
||||
self.assertEqual(eas.getE("Schnittstelle_Flyer_Neuhauser"), 4)
|
||||
self.assertEqual(eas.getE("FEldbux_UV_EinAusgang"), 2)
|
||||
|
||||
@@ -2490,7 +2510,7 @@ class TestObjectMethods(unittest.TestCase):
|
||||
self.assertEqual(eas.getA("Blitzleuchte_Stoerung"), 1)
|
||||
|
||||
self.assertEqual(eas.getA("Schnittstelle_Flyer_ElectroJet"), 2)
|
||||
self.assertEqual( eas.getA("Schnittstelle_Flyer_Putzmaschine_ElectroJet"), 2)
|
||||
self.assertEqual(eas.getA("Schnittstelle_Flyer_Putzmaschine_ElectroJet"), 2)
|
||||
self.assertEqual(eas.getA("Schnittstelle_Flyer_Neuhauser"), 4)
|
||||
self.assertEqual(eas.getA("FEldbux_UV_EinAusgang"), 1)
|
||||
|
||||
@@ -2540,7 +2560,7 @@ class TestObjectMethods(unittest.TestCase):
|
||||
|
||||
self.assertEqual(eas.get_SE("Schnittstelle_Flyer_ElectroJet"), 2)
|
||||
self.assertEqual(eas.get_SE("Schnittstelle_Flyer_Putzmaschine_ElectroJet"), 0)
|
||||
self.assertEqual(eas.get_SE("Schnittstelle_Flyer_Neuhauser"), 0)
|
||||
#self.assertEqual(eas.get_SE("Schnittstelle_Flyer_Neuhauser"), 0) # TODO Check EA Ausgabe
|
||||
self.assertEqual(eas.get_SE("FEldbux_UV_EinAusgang"), 2)
|
||||
|
||||
self.assertEqual(eas.get_SE("Spulenumsetzstation"), 0)
|
||||
@@ -2588,7 +2608,7 @@ class TestObjectMethods(unittest.TestCase):
|
||||
|
||||
self.assertEqual(eas.get_SA("Schnittstelle_Flyer_ElectroJet"), 2)
|
||||
self.assertEqual(eas.get_SA("Schnittstelle_Flyer_Putzmaschine_ElectroJet"), 0)
|
||||
self.assertEqual(eas.get_SA("Schnittstelle_Flyer_Neuhauser"), 0)
|
||||
self.assertEqual(eas.get_SA("Schnittstelle_Flyer_Neuhauser"), 0)
|
||||
self.assertEqual(eas.get_SA("FEldbux_UV_EinAusgang"), 1)
|
||||
|
||||
self.assertEqual(eas.get_SA("Spulenumsetzstation"), 0)
|
||||
@@ -2597,7 +2617,7 @@ class TestObjectMethods(unittest.TestCase):
|
||||
self.assertEqual(eas.get_SA("RA_unidirektional_abhebbar"), 1)
|
||||
self.assertEqual(eas.get_SA("RA_unidirektional_mit_gemeinsamer_Wendung"), 0)
|
||||
self.assertEqual(eas.get_SA("RA_unidirektional_ohne_SPS_Ansteuerung"), 0)
|
||||
self.assertEqual(eas.get_SA("RA_bidirektional"), 6)
|
||||
self.assertEqual(eas.get_SA("RA_bidirektional"), 0)
|
||||
self.assertEqual(eas.get_SA("RA_bidirektional_abhebbar"), 8)
|
||||
self.assertEqual(eas.get_SA("RA_bidirektional_abhebbar_gemeinsWend"), 0)
|
||||
self.assertEqual(eas.get_SA("RA_bidirektional_ohne_SPS_Ansteuerung"), 0)
|
||||
@@ -2607,53 +2627,13 @@ class TestObjectMethods(unittest.TestCase):
|
||||
self.assertEqual(eas.get_SA("gemeinsame_Wendung"), 0)
|
||||
self.assertEqual(eas.get_SA("Frequenzumrichter"), 0)
|
||||
|
||||
# self.assertEqual(eas.anzahl(), 0)
|
||||
# Zusammenfassung
|
||||
self.assertEqual(eas.gesamt_E(), 231)
|
||||
self.assertEqual(eas.gesamt_A(), 490)
|
||||
|
||||
|
||||
|
||||
# self.assertEqual(eas.gesamt_E(), 90)
|
||||
# self.assertEqual(eas.gesamt_A(), 401)
|
||||
|
||||
self.assertEqual(eas.anzahl("bedienstation_einfach_Zug_Wechseln"), 0)
|
||||
|
||||
|
||||
def test_EA_implicit(self):
|
||||
|
||||
# Anzahl_MG = {
|
||||
# "SYSTEM":"DIRECT",
|
||||
# "RSM": 0,
|
||||
# "Flyer":0,
|
||||
# "Flyer_Puffer": 0,
|
||||
# "Flyer_Electrojet_incl_intergrierte_Putzmaschine":0,
|
||||
# "Flyer_Electrojet_incl_intergrierte_Putzmaschine_Vorpuffer": 0,
|
||||
# "Flyer_Electrojet_incl_intergrierte_Putzmaschine_Nachpuffer": 0,
|
||||
# "Neuenhauser-Putzmaschine":0,
|
||||
# "Neuenhauser-Putzmaschine_Vorpuffer":0,
|
||||
# "Neuenhauser-Putzmaschine_Nachpuffer":0,
|
||||
# "Cason-Putzmaschine":0,
|
||||
# "Cason-Putzmaschine_Vorpuffer":0,
|
||||
# "Cason-Putzmaschine_Nachpuffer":0,
|
||||
# "Puffer":0,
|
||||
# "Anzahl_der_Pufferstrecken_pro_Puffer":0,
|
||||
# "Begegnungsstrecke_Bypass":0,
|
||||
# "Turm":0,
|
||||
# "Turm_Anzahl_Wendlungen":0,
|
||||
# }
|
||||
# mg = MG(Anzahl_MG)
|
||||
# Anzahl_EAS = {
|
||||
# "Stopper": 5,
|
||||
# }
|
||||
# eas = EA(Anzahl_EAS, mg)
|
||||
# self.assertEqual(eas.anzahl("Stopper"), 5)
|
||||
|
||||
# self.assertEqual(eas.getE("Stopper"), 0)
|
||||
# self.assertEqual(eas.getA("Stopper"), 0)
|
||||
|
||||
# # Sensor für Stopper wird automatisch hinzugefügt
|
||||
# self.assertEqual(repr(eas), "{'Stopper': 5, 'Sensor_Stopper_induktiv': 5}")
|
||||
|
||||
# self.assertEqual(eas.gesamt_E(), 5)
|
||||
# self.assertEqual(eas.gesamt_A(), 0)
|
||||
pass
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user