From 23140ff8fe270c19ca29b341d7cba2a3c752cba2 Mon Sep 17 00:00:00 2001 From: "m.stangl" Date: Thu, 21 Apr 2022 10:05:27 +0200 Subject: [PATCH] =?UTF-8?q?weitere=20Tests=20f=C3=BCr=20die=20EAS=20Klasse?= =?UTF-8?q?=20geschrieben.=20Abbildung=20aller=20En=20und=20Ausg=C3=A4nge?= =?UTF-8?q?=20in=20Summe?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- rieter_ekalk.py | 143 ++++++++++++++++++++++++++++++++++++------------ 1 file changed, 109 insertions(+), 34 deletions(-) diff --git a/rieter_ekalk.py b/rieter_ekalk.py index c559f6e..5670c6f 100644 --- a/rieter_ekalk.py +++ b/rieter_ekalk.py @@ -943,7 +943,7 @@ class EA(): 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") + 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 @@ -2400,13 +2400,15 @@ class TestObjectMethods(unittest.TestCase): Anzahl_EAS = { "bedienstation_einfach_Zug_Wechseln": 9, "Weiche": 16, + "bedienst_sechsfach": 1, + "EAs_Unterverteiler_direct": 10, } eas = EA(Anzahl_EAS, mg) # eas.get_SA() # eas.get_SE() - # first test whether the input and output channels are correct + ### first test the input channels self.assertEqual(eas.getE("Bedienelemente_Steuerschrank"), 24) # Bedienstation @@ -2433,13 +2435,11 @@ class TestObjectMethods(unittest.TestCase): self.assertEqual(eas.getE("Kreuzungsweiche"), 0) self.assertEqual(eas.getE("Stopper"), 0) self.assertEqual(eas.getE("Ventil_RA_3_2_abhebbar"), 0) - self.assertEqual(eas.getE("Ventil_Doppelstreckenantrieb_5_2_abhebbar"), - 0) + self.assertEqual(eas.getE("Ventil_Doppelstreckenantrieb_5_2_abhebbar"), 0) 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) @@ -2447,8 +2447,7 @@ class TestObjectMethods(unittest.TestCase): self.assertEqual(eas.getE("RA_unidirektional"), 0) self.assertEqual(eas.getE("RA_unidirektional_abhebbar"), 0) - self.assertEqual(eas.getE("RA_unidirektional_mit_gemeinsamer_Wendung"), - 0) + self.assertEqual(eas.getE("RA_unidirektional_mit_gemeinsamer_Wendung"), 0) self.assertEqual(eas.getE("RA_unidirektional_ohne_SPS_Ansteuerung"), 0) self.assertEqual(eas.getE("RA_bidirektional"), 0) self.assertEqual(eas.getE("RA_bidirektional_abhebbar"), 0) @@ -2456,12 +2455,11 @@ class TestObjectMethods(unittest.TestCase): self.assertEqual(eas.getE("RA_bidirektional_ohne_SPS_Ansteuerung"), 0) self.assertEqual(eas.getE("RA_in_RSM_bidirektional"), 0) self.assertEqual(eas.getE("Doppelstreckenantrieb"), 0) - self.assertEqual(eas.getE("Doppelstreckenantriebgemeinsame_Wendung"), - 0) + self.assertEqual(eas.getE("Doppelstreckenantriebgemeinsame_Wendung"), 0) self.assertEqual(eas.getE("gemeinsame_Wendung"), 0) self.assertEqual(eas.getE("Frequenzumrichter"), 1) - ###################### + ### then the output channels ### self.assertEqual(eas.getA("Bedienelemente_Steuerschrank"), 16) # Bedienstation @@ -2488,13 +2486,11 @@ class TestObjectMethods(unittest.TestCase): self.assertEqual(eas.getA("Kreuzungsweiche"), 10) self.assertEqual(eas.getA("Stopper"), 1) self.assertEqual(eas.getA("Ventil_RA_3_2_abhebbar"), 1) - self.assertEqual(eas.getA("Ventil_Doppelstreckenantrieb_5_2_abhebbar"), - 2) + self.assertEqual(eas.getA("Ventil_Doppelstreckenantrieb_5_2_abhebbar"), 2) 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) @@ -2502,8 +2498,7 @@ class TestObjectMethods(unittest.TestCase): self.assertEqual(eas.getA("RA_unidirektional"), 1) self.assertEqual(eas.getA("RA_unidirektional_abhebbar"), 1) - self.assertEqual(eas.getA("RA_unidirektional_mit_gemeinsamer_Wendung"), - 1) + self.assertEqual(eas.getA("RA_unidirektional_mit_gemeinsamer_Wendung"), 1) self.assertEqual(eas.getA("RA_unidirektional_ohne_SPS_Ansteuerung"), 0) self.assertEqual(eas.getA("RA_bidirektional"), 2) self.assertEqual(eas.getA("RA_bidirektional_abhebbar"), 2) @@ -2511,29 +2506,109 @@ class TestObjectMethods(unittest.TestCase): self.assertEqual(eas.getA("RA_bidirektional_ohne_SPS_Ansteuerung"), 0) self.assertEqual(eas.getA("RA_in_RSM_bidirektional"), 1) self.assertEqual(eas.getA("Doppelstreckenantrieb"), 2) - self.assertEqual(eas.getA("Doppelstreckenantriebgemeinsame_Wendung"), - 1) + self.assertEqual(eas.getA("Doppelstreckenantriebgemeinsame_Wendung"), 1) self.assertEqual(eas.getA("gemeinsame_Wendung"), 2) self.assertEqual(eas.getA("Frequenzumrichter"), 3) + # Test of Sum. + self.assertEqual(eas.get_SE("bedienstation_1fach_Not_Aus"), 0) + self.assertEqual(eas.get_SE("bedienstation_einfach_Zug_Wechseln"), 0) + self.assertEqual(eas.get_SE("bedienstation_automatische_Umfahrung"), 0) + self.assertEqual(eas.get_SE("bedienstation_zweifach_Wechs_BCD_10f"), 50) + self.assertEqual(eas.get_SE("bedienstation_zweifach_Not_Aus_Reset"), 4) + self.assertEqual(eas.get_SE("bedienst_dreifach"), 0) + self.assertEqual(eas.get_SE("bedienst_vierfach"), 0) + self.assertEqual(eas.get_SE("bedienst_sechsfach"), 6) + self.assertEqual(eas.get_SE("EAs_Unterverteiler_direct"), 70) + + # Ermittlung_Mengengeruest_Anzahl + self.assertEqual(eas.get_SE("Sensor_Traversenabfrage_optisch"), 11) + self.assertEqual(eas.get_SE("Reflexionslichtschranke_RSM_DIRECT"), 60) + self.assertEqual(eas.get_SE("Sensor_Stopper_induktiv"), 2) + self.assertEqual(eas.get_SE("Seilzugschalter"), 0) + + self.assertEqual(eas.get_SE("Weiche"), 0) + self.assertEqual(eas.get_SE("Weiche_nach_PM_bipolar"), 0) + self.assertEqual(eas.get_SE("gemeinsame_Weichenrueckstellung"), 0) + self.assertEqual(eas.get_SE("Dreifach_Weiche_DIRECT"), 0) + self.assertEqual(eas.get_SE("Kreuzungsweiche"), 0) + self.assertEqual(eas.get_SE("Stopper"), 0) + self.assertEqual(eas.get_SE("Ventil_RA_3_2_abhebbar"), 0) + self.assertEqual(eas.get_SE("Ventil_Doppelstreckenantrieb_5_2_abhebbar"), 0) + self.assertEqual(eas.get_SE("Blitzleuchte_Stoerung"), 0) + + 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("FEldbux_UV_EinAusgang"), 2) + + self.assertEqual(eas.get_SE("Spulenumsetzstation"), 0) + + self.assertEqual(eas.get_SE("RA_unidirektional"), 0) + self.assertEqual(eas.get_SE("RA_unidirektional_abhebbar"), 0) + self.assertEqual(eas.get_SE("RA_unidirektional_mit_gemeinsamer_Wendung"), 0) + self.assertEqual(eas.get_SE("RA_unidirektional_ohne_SPS_Ansteuerung"), 0) + self.assertEqual(eas.get_SE("RA_bidirektional"), 0) + self.assertEqual(eas.get_SE("RA_bidirektional_abhebbar"), 0) + self.assertEqual(eas.get_SE("RA_bidirektional_abhebbar_gemeinsWend"), 0) + self.assertEqual(eas.get_SE("RA_bidirektional_ohne_SPS_Ansteuerung"), 0) + self.assertEqual(eas.get_SE("RA_in_RSM_bidirektional"), 0) + self.assertEqual(eas.get_SE("Doppelstreckenantrieb"), 0) + self.assertEqual(eas.get_SE("Doppelstreckenantriebgemeinsame_Wendung"), 0) + self.assertEqual(eas.get_SE("gemeinsame_Wendung"), 0) + self.assertEqual(eas.get_SE("Frequenzumrichter"), 0) + + ### output #### + self.assertEqual(eas.get_SA("bedienstation_1fach_Not_Aus"), 0) + self.assertEqual(eas.get_SA("bedienstation_einfach_Zug_Wechseln"), 0) + self.assertEqual(eas.get_SA("bedienstation_automatische_Umfahrung"), 0) + self.assertEqual(eas.get_SA("bedienstation_zweifach_Wechs_BCD_10f"), 10) + self.assertEqual(eas.get_SA("bedienstation_zweifach_Not_Aus_Reset"), 4) + self.assertEqual(eas.get_SA("bedienst_dreifach"), 0) + self.assertEqual(eas.get_SA("bedienst_vierfach"), 0) + self.assertEqual(eas.get_SA("bedienst_sechsfach"), 6) + self.assertEqual(eas.get_SA("EAs_Unterverteiler_direct"), 60) + + # Ermittlung_Mengengeruest_Anzahl + self.assertEqual(eas.get_SA("Sensor_Traversenabfrage_optisch"), 0) + self.assertEqual(eas.get_SA("Reflexionslichtschranke_RSM_DIRECT"), 0) + self.assertEqual(eas.get_SA("Sensor_Stopper_induktiv"), 0) + self.assertEqual(eas.get_SA("Seilzugschalter"), 0) + + self.assertEqual(eas.get_SA("Weiche"), 44) + self.assertEqual(eas.get_SA("Weiche_nach_PM_bipolar"), 0) + self.assertEqual(eas.get_SA("gemeinsame_Weichenrueckstellung"), 0) + self.assertEqual(eas.get_SA("Dreifach_Weiche_DIRECT"), 2) + self.assertEqual(eas.get_SA("Kreuzungsweiche"), 0) + self.assertEqual(eas.get_SA("Stopper"), 0) + self.assertEqual(eas.get_SA("Ventil_RA_3_2_abhebbar"), 5) + self.assertEqual(eas.get_SA("Ventil_Doppelstreckenantrieb_5_2_abhebbar"), 164) + self.assertEqual(eas.get_SA("Blitzleuchte_Stoerung"), 3) + + 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("FEldbux_UV_EinAusgang"), 1) + + self.assertEqual(eas.get_SA("Spulenumsetzstation"), 0) + + self.assertEqual(eas.get_SA("RA_unidirektional"), 0) + 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_abhebbar"), 8) + self.assertEqual(eas.get_SA("RA_bidirektional_abhebbar_gemeinsWend"), 0) + self.assertEqual(eas.get_SA("RA_bidirektional_ohne_SPS_Ansteuerung"), 0) + self.assertEqual(eas.get_SA("RA_in_RSM_bidirektional"), 0) + self.assertEqual(eas.get_SA("Doppelstreckenantrieb"), 164) + self.assertEqual(eas.get_SA("Doppelstreckenantriebgemeinsame_Wendung"), 0) + self.assertEqual(eas.get_SA("gemeinsame_Wendung"), 0) + self.assertEqual(eas.get_SA("Frequenzumrichter"), 0) # self.assertEqual(eas.anzahl(), 0) - # self.assertEqual(eas.anzahl(), 0) - # self.assertEqual(eas.anzahl(), 0) - # self.assertEqual(eas.anzahl(), 0) - # self.assertEqual(eas.anzahl(), 0) - # self.assertEqual(eas.anzahl(), 0) - # self.assertEqual(eas.anzahl(), 0) - # self.assertEqual(eas.anzahl(), 0) - # self.assertEqual(eas.anzahl(), 0) - # self.assertEqual(eas.anzahl(), 0) - # self.assertEqual(eas.anzahl(), 0) - # self.assertEqual(eas.anzahl(), 0) - # self.assertEqual(eas.anzahl(), 0) - # self.assertEqual(eas.anzahl(), 0) - # self.assertEqual(eas.anzahl(), 0) - # self.assertEqual(eas.anzahl(), 0) + # self.assertEqual(eas.gesamt_E(), 90)