From c0023e465290ebc5e0f6a4a8ab3e5634ac548817 Mon Sep 17 00:00:00 2001 From: luise jedlitschka Date: Mon, 13 Mar 2023 16:42:52 +0100 Subject: [PATCH] unittests auskommentiert um Turm Varianten zu testen --- test_jayjay.py | 3291 ++++++++++++++++++++++++------------------------ 1 file changed, 1646 insertions(+), 1645 deletions(-) diff --git a/test_jayjay.py b/test_jayjay.py index bb1f2eb..63144a0 100644 --- a/test_jayjay.py +++ b/test_jayjay.py @@ -189,7 +189,7 @@ class TestObjectMethods(unittest.TestCase): # "RA_bi_ohne_SPS_Korrektur":0, # #"Bedientableau_2fach":0, # } - # rek.MG = rek.MG(Anzahl_MG, + # mg = rek.MG(Anzahl_MG, # rsm_direct=rsm_direct_eingabe, # rsm_fa=rsm_fa_eingabe, # flyer_f40=flyer_f40_eingabe, @@ -200,92 +200,92 @@ class TestObjectMethods(unittest.TestCase): # turm=turm_eingabe) # # check data of Mengengerüst - # self.assertEqual(rek.MG.get_value_of_object('rsm_fa', 'Anzahl_RSM'), 14) - # self.assertEqual(rek.MG.get_value_of_object('rsm_fa', 'Flex_A_Premium'), False) - # self.assertEqual(rek.MG.get_value_of_object('rsm_fa', 'Getriebe_in_der_Mitte'), False) - # self.assertEqual(rek.MG.get_value_of_object('rsm_fa', 'RSM_Einfahrt_Ein_Beidseitig'), False) - # self.assertEqual(rek.MG.get_value_of_object('rsm_fa', 'Sensor_optisch_Traverse'), 20) - # self.assertEqual(rek.MG.get_value_of_object('rsm_fa', 'Sensor_optisch_Traverse_zusätzlich'), 6) - # self.assertEqual(rek.MG.get_value_of_object('rsm_fa', 'Bedientableau_1fach'), 14) - # self.assertEqual(rek.MG.get_value_of_object('rsm_fa', 'Bedientableau_1fach_Korrektur'), 0) - # self.assertEqual(rek.MG.get_value_of_object('rsm_fa', 'Bedientableau_2fach'), 6) - # self.assertEqual(rek.MG.get_value_of_object('rsm_fa', 'Bedientableau_2fach_Korrektur'), 4) - # self.assertEqual(rek.MG.get_value_of_object('rsm_fa', 'Weiche'), 18) - # self.assertEqual(rek.MG.get_value_of_object('rsm_fa', 'Weiche_Korrektur'), 4) - # self.assertEqual(rek.MG.get_value_of_object('rsm_fa', 'RRA_bi'), 24) - # self.assertEqual(rek.MG.get_value_of_object('rsm_fa', 'RRA_bi_Korrektur'), 0) - # self.assertEqual(rek.MG.get_value_of_object('rsm_fa', 'RRA_bi_auf_Haupstrecke'), 10) - # self.assertEqual(rek.MG.get_value_of_object('rsm_fa', 'RRA_bi_ohne_SPS_Ansteuerung'), 0) - # self.assertEqual(rek.MG.get_value_of_object('rsm_fa', 'gemeinsame_Wendung'), 0) - # self.assertEqual(rek.MG.get_value_of_object('rsm_fa', 'Seilzugschalter'), 0) - # self.assertEqual(rek.MG.get_value_of_object('rsm_fa', 'Mit_Drucktaster'), 0) - # self.assertEqual(rek.MG.get_value_of_object('rsm_fa', 'Mit_Drucktaster_Korrektur'), 0) - # self.assertEqual(rek.MG.get_value_of_object('rsm_fa', 'Meldelampe_Überstrom'), 2) - # self.assertEqual(rek.MG.get_value_of_object('rsm_fa', 'Meldelampe_Überstrom_Korrektur'), 0) - # self.assertEqual(rek.MG.get_value_of_object('rsm_fa', 'Hauptschalter_Ein_Meldung'), 2) - # self.assertEqual(rek.MG.get_value_of_object('rsm_fa', 'Hauptschalter_Ein-Meldung_Korrektur'), 0) - # self.assertEqual(rek.MG.get_value_of_object('rsm_fa', 'Werma_Rundumleuchte_Störung'), 2) - # self.assertEqual(rek.MG.get_value_of_object('rsm_fa', 'Werma_Rundumleuchte_Störung_Korrektur'), 0) - # self.assertEqual(rek.MG.get_value_of_object('rsm_fa', 'klemmkasten_rsm'), 2) + # self.assertEqual(mg.get_value_of_object('rsm_fa', 'Anzahl_RSM'), 14) + # self.assertEqual(mg.get_value_of_object('rsm_fa', 'Flex_A_Premium'), False) + # self.assertEqual(mg.get_value_of_object('rsm_fa', 'Getriebe_in_der_Mitte'), False) + # self.assertEqual(mg.get_value_of_object('rsm_fa', 'RSM_Einfahrt_Ein_Beidseitig'), False) + # self.assertEqual(mg.get_value_of_object('rsm_fa', 'Sensor_optisch_Traverse'), 20) + # self.assertEqual(mg.get_value_of_object('rsm_fa', 'Sensor_optisch_Traverse_zusätzlich'), 6) + # self.assertEqual(mg.get_value_of_object('rsm_fa', 'Bedientableau_1fach'), 14) + # self.assertEqual(mg.get_value_of_object('rsm_fa', 'Bedientableau_1fach_Korrektur'), 0) + # self.assertEqual(mg.get_value_of_object('rsm_fa', 'Bedientableau_2fach'), 6) + # self.assertEqual(mg.get_value_of_object('rsm_fa', 'Bedientableau_2fach_Korrektur'), 4) + # self.assertEqual(mg.get_value_of_object('rsm_fa', 'Weiche'), 18) + # self.assertEqual(mg.get_value_of_object('rsm_fa', 'Weiche_Korrektur'), 4) + # self.assertEqual(mg.get_value_of_object('rsm_fa', 'RRA_bi'), 24) + # self.assertEqual(mg.get_value_of_object('rsm_fa', 'RRA_bi_Korrektur'), 0) + # self.assertEqual(mg.get_value_of_object('rsm_fa', 'RRA_bi_auf_Haupstrecke'), 10) + # self.assertEqual(mg.get_value_of_object('rsm_fa', 'RRA_bi_ohne_SPS_Ansteuerung'), 0) + # self.assertEqual(mg.get_value_of_object('rsm_fa', 'gemeinsame_Wendung'), 0) + # self.assertEqual(mg.get_value_of_object('rsm_fa', 'Seilzugschalter'), 0) + # self.assertEqual(mg.get_value_of_object('rsm_fa', 'Mit_Drucktaster'), 0) + # self.assertEqual(mg.get_value_of_object('rsm_fa', 'Mit_Drucktaster_Korrektur'), 0) + # self.assertEqual(mg.get_value_of_object('rsm_fa', 'Meldelampe_Überstrom'), 2) + # self.assertEqual(mg.get_value_of_object('rsm_fa', 'Meldelampe_Überstrom_Korrektur'), 0) + # self.assertEqual(mg.get_value_of_object('rsm_fa', 'Hauptschalter_Ein_Meldung'), 2) + # self.assertEqual(mg.get_value_of_object('rsm_fa', 'Hauptschalter_Ein-Meldung_Korrektur'), 0) + # self.assertEqual(mg.get_value_of_object('rsm_fa', 'Werma_Rundumleuchte_Störung'), 2) + # self.assertEqual(mg.get_value_of_object('rsm_fa', 'Werma_Rundumleuchte_Störung_Korrektur'), 0) + # self.assertEqual(mg.get_value_of_object('rsm_fa', 'klemmkasten_rsm'), 2) # # check data of the flyer - # self.assertEqual(rek.MG.get_value_of_object('flyer_ejet', 'Anzahl'), 4) - # self.assertEqual(rek.MG.get_value_of_object('flyer_ejet', 'Anzahl_Schienen'), 2) - # self.assertEqual(rek.MG.get_value_of_object('flyer_ejet', 'Flyer'), 4) - # self.assertEqual(rek.MG.get_value_of_object('flyer_ejet', 'Sensor_optisch_Traverse'), 28) - # self.assertEqual(rek.MG.get_value_of_object('flyer_ejet', 'Sensor_optisch_Traverse_Korrektur'), 0) - # self.assertEqual(rek.MG.get_value_of_object('flyer_ejet', 'Sensor_induktiv_Spulenalter_Zug_positionierung'), 4) - # self.assertEqual(rek.MG.get_value_of_object('flyer_ejet', 'Bedientableau_2fach'), 4) - # self.assertEqual(rek.MG.get_value_of_object('flyer_ejet', 'Interface_Doffer'), 4) - # self.assertEqual(rek.MG.get_value_of_object('flyer_ejet', 'Weiche'), 8) - # self.assertEqual(rek.MG.get_value_of_object('flyer_ejet', 'Weiche_Korrektur'), 0) - # self.assertEqual(rek.MG.get_value_of_object('flyer_ejet', 'Weiche_nach_Flyer_bipolar'), 4) - # self.assertEqual(rek.MG.get_value_of_object('flyer_ejet', 'Dreifachweiche'), 0) - # self.assertEqual(rek.MG.get_value_of_object('flyer_ejet', 'Wechsel'), 4) - # self.assertEqual(rek.MG.get_value_of_object('flyer_ejet', 'Wechsel_Korrektur'), 0) - # self.assertEqual(rek.MG.get_value_of_object('flyer_ejet', 'RA_bi_ohne_SPS-Ansteuerung'), 4) - # self.assertEqual(rek.MG.get_value_of_object('flyer_ejet', 'RA_bi_abhebbar'), 4) - # self.assertEqual(rek.MG.get_value_of_object('flyer_ejet', 'RA_bi_abhebbar_Korrektur'), 0) - # self.assertEqual(rek.MG.get_value_of_object('flyer_ejet', 'RA_bi'), 4) - # self.assertEqual(rek.MG.get_value_of_object('flyer_ejet', 'Doppelstreckenantrieb'), 4) - # self.assertEqual(rek.MG.get_value_of_object('flyer_ejet', 'RA_bi_abhebbar_unger_Schiene'), 0) - # self.assertEqual(rek.MG.get_value_of_object('flyer_ejet', 'Meldelampe_Überstrom'), 4) - # self.assertEqual(rek.MG.get_value_of_object('flyer_ejet', 'Meldelampe_Überstrom_Korrektur'), 0) - # self.assertEqual(rek.MG.get_value_of_object('flyer_ejet', 'Hauptschalter_Ein_Meldung'), 4) - # self.assertEqual(rek.MG.get_value_of_object('flyer_ejet', 'Hauptschalter_Ein-Meldung_Korrektur'), 0) - # self.assertEqual(rek.MG.get_value_of_object('flyer_ejet', 'Werma_Rundumleuchte_Störung'), 4) - # self.assertEqual(rek.MG.get_value_of_object('flyer_ejet', 'Werma_Rundumleuchte_Störung_Korrektur'), 0) + # self.assertEqual(mg.get_value_of_object('flyer_ejet', 'Anzahl'), 4) + # self.assertEqual(mg.get_value_of_object('flyer_ejet', 'Anzahl_Schienen'), 2) + # self.assertEqual(mg.get_value_of_object('flyer_ejet', 'Flyer'), 4) + # self.assertEqual(mg.get_value_of_object('flyer_ejet', 'Sensor_optisch_Traverse'), 28) + # self.assertEqual(mg.get_value_of_object('flyer_ejet', 'Sensor_optisch_Traverse_Korrektur'), 0) + # self.assertEqual(mg.get_value_of_object('flyer_ejet', 'Sensor_induktiv_Spulenalter_Zug_positionierung'), 4) + # self.assertEqual(mg.get_value_of_object('flyer_ejet', 'Bedientableau_2fach'), 4) + # self.assertEqual(mg.get_value_of_object('flyer_ejet', 'Interface_Doffer'), 4) + # self.assertEqual(mg.get_value_of_object('flyer_ejet', 'Weiche'), 8) + # self.assertEqual(mg.get_value_of_object('flyer_ejet', 'Weiche_Korrektur'), 0) + # self.assertEqual(mg.get_value_of_object('flyer_ejet', 'Weiche_nach_Flyer_bipolar'), 4) + # self.assertEqual(mg.get_value_of_object('flyer_ejet', 'Dreifachweiche'), 0) + # self.assertEqual(mg.get_value_of_object('flyer_ejet', 'Wechsel'), 4) + # self.assertEqual(mg.get_value_of_object('flyer_ejet', 'Wechsel_Korrektur'), 0) + # self.assertEqual(mg.get_value_of_object('flyer_ejet', 'RA_bi_ohne_SPS-Ansteuerung'), 4) + # self.assertEqual(mg.get_value_of_object('flyer_ejet', 'RA_bi_abhebbar'), 4) + # self.assertEqual(mg.get_value_of_object('flyer_ejet', 'RA_bi_abhebbar_Korrektur'), 0) + # self.assertEqual(mg.get_value_of_object('flyer_ejet', 'RA_bi'), 4) + # self.assertEqual(mg.get_value_of_object('flyer_ejet', 'Doppelstreckenantrieb'), 4) + # self.assertEqual(mg.get_value_of_object('flyer_ejet', 'RA_bi_abhebbar_unger_Schiene'), 0) + # self.assertEqual(mg.get_value_of_object('flyer_ejet', 'Meldelampe_Überstrom'), 4) + # self.assertEqual(mg.get_value_of_object('flyer_ejet', 'Meldelampe_Überstrom_Korrektur'), 0) + # self.assertEqual(mg.get_value_of_object('flyer_ejet', 'Hauptschalter_Ein_Meldung'), 4) + # self.assertEqual(mg.get_value_of_object('flyer_ejet', 'Hauptschalter_Ein-Meldung_Korrektur'), 0) + # self.assertEqual(mg.get_value_of_object('flyer_ejet', 'Werma_Rundumleuchte_Störung'), 4) + # self.assertEqual(mg.get_value_of_object('flyer_ejet', 'Werma_Rundumleuchte_Störung_Korrektur'), 0) # # Verbindungsstrecken Wechsel - # self.assertEqual(rek.MG.get_value_of_object('verbindungsstrecken_wechsel', 'Sensor_optisch_Traverse'), 10) - # self.assertEqual(rek.MG.get_value_of_object('verbindungsstrecken_wechsel', 'Bedientableau_1fach'), 0) - # self.assertEqual(rek.MG.get_value_of_object('verbindungsstrecken_wechsel', 'Bedientableau_2fach'), 0) - # self.assertEqual(rek.MG.get_value_of_object('verbindungsstrecken_wechsel', 'Bedientableau_14fach'), 0) - # self.assertEqual(rek.MG.get_value_of_object('verbindungsstrecken_wechsel', 'Weiche'), 4) - # self.assertEqual(rek.MG.get_value_of_object('verbindungsstrecken_wechsel', 'Dreifachweiche'), 0) - # self.assertEqual(rek.MG.get_value_of_object('verbindungsstrecken_wechsel', 'Kreuzungsweiche'), 1) - # self.assertEqual(rek.MG.get_value_of_object('verbindungsstrecken_wechsel', 'Werma_Rundumleuchte_Störung'), 0) - # self.assertEqual(rek.MG.get_value_of_object('verbindungsstrecken_wechsel', 'RA_uni'), 0) - # self.assertEqual(rek.MG.get_value_of_object('verbindungsstrecken_wechsel', 'RA_uni_ohne_SPS_Ansteuerung'), 0) - # self.assertEqual(rek.MG.get_value_of_object('verbindungsstrecken_wechsel', 'RA_bi'), 0) - # self.assertEqual(rek.MG.get_value_of_object('verbindungsstrecken_wechsel', 'RA_bi_ohne_SPS-Ansteuerung'), 0) - # self.assertEqual(rek.MG.get_value_of_object('verbindungsstrecken_wechsel', 'Doppelstreckenantrieb'), 0) + # self.assertEqual(mg.get_value_of_object('verbindungsstrecken_wechsel', 'Sensor_optisch_Traverse'), 10) + # self.assertEqual(mg.get_value_of_object('verbindungsstrecken_wechsel', 'Bedientableau_1fach'), 0) + # self.assertEqual(mg.get_value_of_object('verbindungsstrecken_wechsel', 'Bedientableau_2fach'), 0) + # self.assertEqual(mg.get_value_of_object('verbindungsstrecken_wechsel', 'Bedientableau_14fach'), 0) + # self.assertEqual(mg.get_value_of_object('verbindungsstrecken_wechsel', 'Weiche'), 4) + # self.assertEqual(mg.get_value_of_object('verbindungsstrecken_wechsel', 'Dreifachweiche'), 0) + # self.assertEqual(mg.get_value_of_object('verbindungsstrecken_wechsel', 'Kreuzungsweiche'), 1) + # self.assertEqual(mg.get_value_of_object('verbindungsstrecken_wechsel', 'Werma_Rundumleuchte_Störung'), 0) + # self.assertEqual(mg.get_value_of_object('verbindungsstrecken_wechsel', 'RA_uni'), 0) + # self.assertEqual(mg.get_value_of_object('verbindungsstrecken_wechsel', 'RA_uni_ohne_SPS_Ansteuerung'), 0) + # self.assertEqual(mg.get_value_of_object('verbindungsstrecken_wechsel', 'RA_bi'), 0) + # self.assertEqual(mg.get_value_of_object('verbindungsstrecken_wechsel', 'RA_bi_ohne_SPS-Ansteuerung'), 0) + # self.assertEqual(mg.get_value_of_object('verbindungsstrecken_wechsel', 'Doppelstreckenantrieb'), 0) # # Puffer - # self.assertEqual(rek.MG.get_value_of_object('puffer', 'Anzahl'), 1) - # self.assertEqual(rek.MG.get_value_of_object('puffer', 'Anzahl_Staustrecken'), 5) - # self.assertEqual(rek.MG.get_value_of_object('puffer', 'Sensor_optisch_Traverse'), 6) - # self.assertEqual(rek.MG.get_value_of_object('puffer', 'Sensor_optisch_Traverse_Korrektur'), 1) - # self.assertEqual(rek.MG.get_value_of_object('puffer', 'Weiche'), 5) - # self.assertEqual(rek.MG.get_value_of_object('puffer', 'RA_bi_ungerade_Schiene'), 2) - # self.assertEqual(rek.MG.get_value_of_object('puffer', 'Weiche_Korrektur'), 0) - # self.assertEqual(rek.MG.get_value_of_object('puffer', 'Doppelstreckenantrieb'), 2) - # self.assertEqual(rek.MG.get_value_of_object('puffer', 'Meldelampe_Überstrom'), 1) - # self.assertEqual(rek.MG.get_value_of_object('puffer', 'Meldelampe_Überstrom_Korrektur'), 0) - # self.assertEqual(rek.MG.get_value_of_object('puffer', 'Hauptschalter_Ein_Meldung'), 1) - # self.assertEqual(rek.MG.get_value_of_object('puffer', 'Hauptschalter_Ein-Meldung_Korrektur'), 0) + # self.assertEqual(mg.get_value_of_object('puffer', 'Anzahl'), 1) + # self.assertEqual(mg.get_value_of_object('puffer', 'Anzahl_Staustrecken'), 5) + # self.assertEqual(mg.get_value_of_object('puffer', 'Sensor_optisch_Traverse'), 6) + # self.assertEqual(mg.get_value_of_object('puffer', 'Sensor_optisch_Traverse_Korrektur'), 1) + # self.assertEqual(mg.get_value_of_object('puffer', 'Weiche'), 5) + # self.assertEqual(mg.get_value_of_object('puffer', 'RA_bi_ungerade_Schiene'), 2) + # self.assertEqual(mg.get_value_of_object('puffer', 'Weiche_Korrektur'), 0) + # self.assertEqual(mg.get_value_of_object('puffer', 'Doppelstreckenantrieb'), 2) + # self.assertEqual(mg.get_value_of_object('puffer', 'Meldelampe_Überstrom'), 1) + # self.assertEqual(mg.get_value_of_object('puffer', 'Meldelampe_Überstrom_Korrektur'), 0) + # self.assertEqual(mg.get_value_of_object('puffer', 'Hauptschalter_Ein_Meldung'), 1) + # self.assertEqual(mg.get_value_of_object('puffer', 'Hauptschalter_Ein-Meldung_Korrektur'), 0) - # zf = rek.MG.zusammenfassung() + # zf = mg.zusammenfassung() # self.assertEqual(zf['Gesamtanzahl_Antriebe'], 44) # self.assertEqual(zf['Sensor_optisch_Traverse'], 68) # self.assertEqual(zf['Sensor_induktiv_Spulenalter_Zug_positionierung'], 4) @@ -316,1625 +316,1625 @@ class TestObjectMethods(unittest.TestCase): # self.assertEqual(zf['gemeinsame_Wendung'], 0) # self.assertEqual(zf['klemmkasten_rsm'], 2) - # def test_eas(self): + def test_eas(self): - # Anzahl_MG = { - # "SYSTEM": "FA", - # "RSM":14, - # "Flyer":4, - # "Flyer_Puffer":2, - # "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":1, - # "Anzahl_der_Pufferstrecken_pro_Puffer":5, - # "Begegnungsstrecke_Bypass":2, - # "Turm":0, - # "Turm_Anzahl_Wendlungen":0, - # } + Anzahl_MG = { + "SYSTEM": "FA", + "RSM":14, + "Flyer":4, + "Flyer_Puffer":2, + "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":1, + "Anzahl_der_Pufferstrecken_pro_Puffer":5, + "Begegnungsstrecke_Bypass":2, + "Turm":0, + "Turm_Anzahl_Wendlungen":0, + } - # rsm_direct_eingabe = {} - # rsm_fa_eingabe = { - # "Flex_A_Premium":False, # braucht man das noch? - # "Getriebe_in_der_Mitte":False, # braucht man das noch? - # "RSM_Einfahrt_Ein_Beidseitig":False, # braucht man das noch? - # "Sensor_optisch_Traverse_zusätzlich":6, - # "Bedientableau_1fach_Korrektur":0, - # "Bedientableau_2fach_Korrektur":4, - # "Weiche_Korrektur":4, - # "RRA_bi_Korrektur":0, - # "RRA_bi_auf_Haupstrecke":10, - # "RRA_uni_Begegnung":4, - # "gemeinsame_Wendung":0, - # "Mit_Drucktaster_Korrektur":0, - # "Meldelampe_Überstrom_Korrektur":0, - # "Hauptschalter_Ein-Meldung_Korrektur":0, - # "Werma_Rundumleuchte_Störung_Korrektur":0, - # "klemmkasten_rsm":2, - # } - # flyer_f40_eingabe = { - # #auskommentiert => kein Übergabeparameter, wird in Klasse berechnet - # #"Anzahl":0, - # #"Flyer_Electrojet_incl_intergrierte_Putzmaschine":0, #wird in deckblatt-Klasse berechnet - # "Flyer_Electrojet_incl_intergrierte_Putzmaschine_Korrektur":0, - # #"Flyer_Electrojet_incl_intergrierte_Putzmaschine_Vorpuffer":2, #wird in deckblatt-Klasse berechnet - # #"Flyer_Electrojet_incl_intergrierte_Putzmaschine_Nachpuffer":2, #wird in deckblatt-Klasse berechnet - # #"Anzahl_Schienen":0, - # "Single_Line_Durchfahrt":False, - # "Nachpuffer":False, - # #"Sensor_optisch_Traverse":0, - # "Sensor_optisch_Traverse_Korrektur":0, - # #"Sensor_induktiv_Spulenhalter":0, - # "Sensor_induktiv_Spulenhalter_Korrektur":0, - # #"Bedientableau_2fach":0, - # "Bedientableau_2fach_Korrektur":0, - # #"Interface_Doffer":0, - # "Interface_Doffer_Korrektur":0, - # #"Weiche":0, - # "Weiche_Korrektur":0, - # #"Weiche_nach_Flyer_bipolar":0, - # "Weiche_nach_Flyer_bipolar_Korrektur":0, - # "Dreifachweiche":0, - # "Wechsel":0, - # "Stopper":0, - # "RA_uni":0, - # #"RA_uni_abhebbar":0, - # "RA_uni_abhebbar_Korrektur":0, - # #"RA_uni_ohne_SPS_Ansteuerung":0, - # "RA_uni_ohne_SPS_Ansteuerung_Korrektur":0, - # #"RRA_BI_abhebbar":0, - # "RRA_BI_abhebbar_Korrektur":0, - # "RRA_bi":0, - # #"RRA_bi_Korrektur":0, - # #"RRA_bi_ohne_SPS_Ansteuerung":0, - # "RRA_bi_ohne_SPS_Ansteuerung_Korrektur":0, - # #"Doppelstreckenantrieb":0, - # "Doppelstreckenantrieb_Korrektur":0, - # "RA_bi_abhebbar_unger_Schiene":0, - # #"Meldelampe_Überstrom":0, - # "Meldelampe_Überstrom_Korrektur":0, - # #"Hauptschalter_Ein_Meldung":0, - # "Hauptschalter_Ein-Meldung_Korrektur":0, - # #"Werma_Rundumleuchte_Störung":0, - # "Werma_Rundumleuchte_Störung_Korrektur":0, - # } - # neuenhauser_eingabe = { - # #auskommentiert => kein Übergabeparameter, wird in Klasse berechnet - # #"Anzahl":0, - # #"Neuenhauser-Putzmaschine":0, #wird in deckblatt-Klasse zugewiesen - # #"Neuenhauser-Putzmaschine_Vorpuffer":0, #wird in deckblatt-Klasse zugewiesen - # #"Neuenhauser-Putzmaschine_Nachpuffer":0, #wird in deckblatt-Klasse zugewiesen - # #"Anzahl_Vorstaustrecken":0, - # #"Anzahl_Nachstaustrecken":0, - # #"Sensor_optisch_Traverse":0, - # "Sensor_optisch_Traverse_Korrektur":0, - # #"Sensorik_Zugpositionierung":0, - # #"Sensor_WT18_Spulenprüfung_voll_leer":0, - # #"Bedientableau_2fach":0, - # "Bedientableau_2fach_Korrektur":0, - # #"Interface_Putzmaschine":0, - # #"Weiche":0, - # "Weiche_Korrektur":0, - # #"Weiche_nach_PM_bipolar":0, - # #"RA_uni_abhebbar":0, - # "RA_uni_abhebbar_Korrektur":0, - # #"RA_uni_ohne_SPS_Ansteuerung":0, - # #"RA_uni_abhebbar_unger_Sch":0, - # #"Doppelstreckenantrieb":0, - # #"Meldelampe_Überstrom":0, - # "Meldelampe_Überstrom_Korrektur":0, - # #"Hauptschalter_Ein_Meldung":0, - # "Hauptschalter_Ein-Meldung_Korrektur":0, - # #"Werma_Rundumleuchte_Störung":0, - # "Werma_Rundumleuchte_Störung_Korrektur":0, - # } - # flyer_eingabe = { - # #auskommentiert => kein Übergabeparameter, wird in Klasse berechnet - # #"Anzahl":0, - # #"Flyer":0, # äquivalent zu 'Anzahl' - # #"Anzahl_Schienen:":0, - # #"Sensor_optisch_Traverse":0, - # "Sensor_optisch_Traverse_Korrektur":0, - # #"Sensor_induktiv_Spulenalter_Zug_positionierung":0, - # #"Bedientableau_2fach":0, - # #"Interface_Doffer":0, - # #"Weiche":0, - # "Weiche_Korrektur":0, - # #"Weiche_nach_Flyer_bipolar":0, - # "Dreifachweiche":0, - # #"Wechsel":0, - # "Wechsel_Korrektur":0, - # #"RA_bi_ohne_SPS-Ansteuerung":0, - # #"RA_bi_abhebbar":0, - # "RA_bi_abhebbar_Korrektur":0, - # "RA_bi":4, - # #"Doppelstreckenantrieb":0, - # "RA_bi_abhebbar_unger_Schiene":0, - # #"Meldelampe_Überstrom":0, - # "Meldelampe_Überstrom_Korrektur":0, - # #"Hauptschalter_Ein_Meldung":0, - # "Hauptschalter_Ein-Meldung_Korrektur":0, - # #"Werma_Rundumleuchte_Störung":0, - # "Werma_Rundumleuchte_Störung_Korrektur":0, - # } - # verbindungsstrecken_w_eingabe = { - # #auskommentiert => kein Übergabeparameter, wird in Klasse berechnet - # #"Sensor_optisch_Traverse":0, - # "Bedientableau_1fach":0, - # "Bedientableau_2fach":0, - # "Bedientableau_14fach":0, - # "Weiche":0, - # "Dreifachweiche":0, - # "Kreuzungsweiche":1, - # "Werma_Rundumleuchte_Störung":0, - # "RA_uni":0, - # "RA_uni_ohne_SPS_Ansteuerung":0, - # "RA_bi":0, - # "RA_bi_ohne_SPS-Ansteuerung":0, - # "Doppelstreckenantrieb":0 - # } - # puffer_eingabe = { - # # auskommentiert => kein Übergabeparameter, wird in Klasse berechnet - # # "Anzahl":0, - # # "Puffer":0, #äquivalent zu Anzahl - # # "Anzahl_Pufferstrecken":0, #äquivalent zu Anzahl_Staustrecken - # # "Anzahl_Staustrecken":0, - # # "Sensor_optisch_Traverse":0, - # "Sensor_optisch_Traverse_Korrektur": 1, - # # "Weiche":0, - # "Weiche_Korrektur": 0, - # "RA_bi_ungerade_Schiene": 2, - # # "Doppelstreckenantrieb":0, - # # "Meldelampe_Überstrom":0, - # "Meldelampe_Überstrom_Korrektur": 0, - # # "Hauptschalter_Ein_Meldung":0, - # "Hauptschalter_Ein-Meldung_Korrektur": 0, - # } - # turm_eingabe = { - # #auskommentiert => kein Übergabeparameter, wird in Klasse berechnet - # #"Anzahl":0, - # #"Turm":0, #äquivalent zu Anzahl - # #"Anzahl_Wendlungen":0, #äquivalent zu Anzahl_Staustrecken - # #"Anzahl_Staustrecken":0, - # #"Sensor_optisch_Traverse":0, - # #"Weiche":0, - # #"RA_bi":0, - # "RA_bi_Korrektur":0, - # #"RA_bi_ohne_SPS":0, - # "RA_bi_ohne_SPS_Korrektur":0, - # #"Bedientableau_2fach":0, - # } - # MG = rek.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) + rsm_direct_eingabe = {} + rsm_fa_eingabe = { + "Flex_A_Premium":False, # braucht man das noch? + "Getriebe_in_der_Mitte":False, # braucht man das noch? + "RSM_Einfahrt_Ein_Beidseitig":False, # braucht man das noch? + "Sensor_optisch_Traverse_zusätzlich":6, + "Bedientableau_1fach_Korrektur":0, + "Bedientableau_2fach_Korrektur":4, + "Weiche_Korrektur":4, + "RRA_bi_Korrektur":0, + "RRA_bi_auf_Haupstrecke":10, + "RRA_uni_Begegnung":4, + "gemeinsame_Wendung":0, + "Mit_Drucktaster_Korrektur":0, + "Meldelampe_Überstrom_Korrektur":0, + "Hauptschalter_Ein-Meldung_Korrektur":0, + "Werma_Rundumleuchte_Störung_Korrektur":0, + "klemmkasten_rsm":2, + } + flyer_f40_eingabe = { + #auskommentiert => kein Übergabeparameter, wird in Klasse berechnet + #"Anzahl":0, + #"Flyer_Electrojet_incl_intergrierte_Putzmaschine":0, #wird in deckblatt-Klasse berechnet + "Flyer_Electrojet_incl_intergrierte_Putzmaschine_Korrektur":0, + #"Flyer_Electrojet_incl_intergrierte_Putzmaschine_Vorpuffer":2, #wird in deckblatt-Klasse berechnet + #"Flyer_Electrojet_incl_intergrierte_Putzmaschine_Nachpuffer":2, #wird in deckblatt-Klasse berechnet + #"Anzahl_Schienen":0, + "Single_Line_Durchfahrt":False, + "Nachpuffer":False, + #"Sensor_optisch_Traverse":0, + "Sensor_optisch_Traverse_Korrektur":0, + #"Sensor_induktiv_Spulenhalter":0, + "Sensor_induktiv_Spulenhalter_Korrektur":0, + #"Bedientableau_2fach":0, + "Bedientableau_2fach_Korrektur":0, + #"Interface_Doffer":0, + "Interface_Doffer_Korrektur":0, + #"Weiche":0, + "Weiche_Korrektur":0, + #"Weiche_nach_Flyer_bipolar":0, + "Weiche_nach_Flyer_bipolar_Korrektur":0, + "Dreifachweiche":0, + "Wechsel":0, + "Stopper":0, + "RA_uni":0, + #"RA_uni_abhebbar":0, + "RA_uni_abhebbar_Korrektur":0, + #"RA_uni_ohne_SPS_Ansteuerung":0, + "RA_uni_ohne_SPS_Ansteuerung_Korrektur":0, + #"RRA_BI_abhebbar":0, + "RRA_BI_abhebbar_Korrektur":0, + "RRA_bi":0, + #"RRA_bi_Korrektur":0, + #"RRA_bi_ohne_SPS_Ansteuerung":0, + "RRA_bi_ohne_SPS_Ansteuerung_Korrektur":0, + #"Doppelstreckenantrieb":0, + "Doppelstreckenantrieb_Korrektur":0, + "RA_bi_abhebbar_unger_Schiene":0, + #"Meldelampe_Überstrom":0, + "Meldelampe_Überstrom_Korrektur":0, + #"Hauptschalter_Ein_Meldung":0, + "Hauptschalter_Ein-Meldung_Korrektur":0, + #"Werma_Rundumleuchte_Störung":0, + "Werma_Rundumleuchte_Störung_Korrektur":0, + } + neuenhauser_eingabe = { + #auskommentiert => kein Übergabeparameter, wird in Klasse berechnet + #"Anzahl":0, + #"Neuenhauser-Putzmaschine":0, #wird in deckblatt-Klasse zugewiesen + #"Neuenhauser-Putzmaschine_Vorpuffer":0, #wird in deckblatt-Klasse zugewiesen + #"Neuenhauser-Putzmaschine_Nachpuffer":0, #wird in deckblatt-Klasse zugewiesen + #"Anzahl_Vorstaustrecken":0, + #"Anzahl_Nachstaustrecken":0, + #"Sensor_optisch_Traverse":0, + "Sensor_optisch_Traverse_Korrektur":0, + #"Sensorik_Zugpositionierung":0, + #"Sensor_WT18_Spulenprüfung_voll_leer":0, + #"Bedientableau_2fach":0, + "Bedientableau_2fach_Korrektur":0, + #"Interface_Putzmaschine":0, + #"Weiche":0, + "Weiche_Korrektur":0, + #"Weiche_nach_PM_bipolar":0, + #"RA_uni_abhebbar":0, + "RA_uni_abhebbar_Korrektur":0, + #"RA_uni_ohne_SPS_Ansteuerung":0, + #"RA_uni_abhebbar_unger_Sch":0, + #"Doppelstreckenantrieb":0, + #"Meldelampe_Überstrom":0, + "Meldelampe_Überstrom_Korrektur":0, + #"Hauptschalter_Ein_Meldung":0, + "Hauptschalter_Ein-Meldung_Korrektur":0, + #"Werma_Rundumleuchte_Störung":0, + "Werma_Rundumleuchte_Störung_Korrektur":0, + } + flyer_eingabe = { + #auskommentiert => kein Übergabeparameter, wird in Klasse berechnet + #"Anzahl":0, + #"Flyer":0, # äquivalent zu 'Anzahl' + #"Anzahl_Schienen:":0, + #"Sensor_optisch_Traverse":0, + "Sensor_optisch_Traverse_Korrektur":0, + #"Sensor_induktiv_Spulenalter_Zug_positionierung":0, + #"Bedientableau_2fach":0, + #"Interface_Doffer":0, + #"Weiche":0, + "Weiche_Korrektur":0, + #"Weiche_nach_Flyer_bipolar":0, + "Dreifachweiche":0, + #"Wechsel":0, + "Wechsel_Korrektur":0, + #"RA_bi_ohne_SPS-Ansteuerung":0, + #"RA_bi_abhebbar":0, + "RA_bi_abhebbar_Korrektur":0, + "RA_bi":4, + #"Doppelstreckenantrieb":0, + "RA_bi_abhebbar_unger_Schiene":0, + #"Meldelampe_Überstrom":0, + "Meldelampe_Überstrom_Korrektur":0, + #"Hauptschalter_Ein_Meldung":0, + "Hauptschalter_Ein-Meldung_Korrektur":0, + #"Werma_Rundumleuchte_Störung":0, + "Werma_Rundumleuchte_Störung_Korrektur":0, + } + verbindungsstrecken_w_eingabe = { + #auskommentiert => kein Übergabeparameter, wird in Klasse berechnet + #"Sensor_optisch_Traverse":0, + "Bedientableau_1fach":0, + "Bedientableau_2fach":0, + "Bedientableau_14fach":0, + "Weiche":0, + "Dreifachweiche":0, + "Kreuzungsweiche":1, + "Werma_Rundumleuchte_Störung":0, + "RA_uni":0, + "RA_uni_ohne_SPS_Ansteuerung":0, + "RA_bi":0, + "RA_bi_ohne_SPS-Ansteuerung":0, + "Doppelstreckenantrieb":0 + } + puffer_eingabe = { + # auskommentiert => kein Übergabeparameter, wird in Klasse berechnet + # "Anzahl":0, + # "Puffer":0, #äquivalent zu Anzahl + # "Anzahl_Pufferstrecken":0, #äquivalent zu Anzahl_Staustrecken + # "Anzahl_Staustrecken":0, + # "Sensor_optisch_Traverse":0, + "Sensor_optisch_Traverse_Korrektur": 1, + # "Weiche":0, + "Weiche_Korrektur": 0, + "RA_bi_ungerade_Schiene": 2, + # "Doppelstreckenantrieb":0, + # "Meldelampe_Überstrom":0, + "Meldelampe_Überstrom_Korrektur": 0, + # "Hauptschalter_Ein_Meldung":0, + "Hauptschalter_Ein-Meldung_Korrektur": 0, + } + turm_eingabe = { + #auskommentiert => kein Übergabeparameter, wird in Klasse berechnet + #"Anzahl":0, + #"Turm":0, #äquivalent zu Anzahl + #"Anzahl_Wendlungen":0, #äquivalent zu Anzahl_Staustrecken + #"Anzahl_Staustrecken":0, + #"Sensor_optisch_Traverse":0, + #"Weiche":0, + #"RA_bi":0, + "RA_bi_Korrektur":0, + #"RA_bi_ohne_SPS":0, + "RA_bi_ohne_SPS_Korrektur":0, + #"Bedientableau_2fach":0, + } + mg = rek.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) - # Anzahl_EAS = {"schaltschrank":1} - # eas = rek.EA(Anzahl_EAS, rek.MG) + Anzahl_EAS = {"schaltschrank":1} + eas = rek.EA(Anzahl_EAS, mg) - # # Prüfe die Summe aller Eingänge und Ausgänge für jeden Elementtyp - # # Bedienstation - # self.assertEqual(eas.get_SEA('bedienstation_1fach_Not_Aus'), (0, 0)) - # self.assertEqual(eas.get_SEA('bedienstation_einfach_Zug_Wechseln'), (14, 14)) - # self.assertEqual(eas.get_SEA('bedienstation_automatische_Umfahrung'), (0, 0)) - # self.assertEqual(eas.get_SEA('bedienstation_zweifach_Wechs_BCD_10f'), (0, 0)) - # self.assertEqual(eas.get_SEA('bedienstation_zweifach_Not_Aus_Reset'), (20, 20)) - # self.assertEqual(eas.get_SEA('bedienst_dreifach'), (0, 0)) - # self.assertEqual(eas.get_SEA('bedienst_vierfach'), (0, 0)) - # self.assertEqual(eas.get_SEA('bedienst_sechsfach'), (0, 0)) - # self.assertEqual(eas.get_SEA('EAs_Unterverteiler_direct'), (0, 0)) + # Prüfe die Summe aller Eingänge und Ausgänge für jeden Elementtyp + # Bedienstation + self.assertEqual(eas.get_SEA('bedienstation_1fach_Not_Aus'), (0, 0)) + self.assertEqual(eas.get_SEA('bedienstation_einfach_Zug_Wechseln'), (14, 14)) + self.assertEqual(eas.get_SEA('bedienstation_automatische_Umfahrung'), (0, 0)) + self.assertEqual(eas.get_SEA('bedienstation_zweifach_Wechs_BCD_10f'), (0, 0)) + self.assertEqual(eas.get_SEA('bedienstation_zweifach_Not_Aus_Reset'), (20, 20)) + self.assertEqual(eas.get_SEA('bedienst_dreifach'), (0, 0)) + self.assertEqual(eas.get_SEA('bedienst_vierfach'), (0, 0)) + self.assertEqual(eas.get_SEA('bedienst_sechsfach'), (0, 0)) + self.assertEqual(eas.get_SEA('EAs_Unterverteiler_direct'), (0, 0)) - # # Ermittlung Mengengerüst - # self.assertEqual(eas.get_SEA('Sensor_Traversenabfrage_optisch'), (68, 0)) - # self.assertEqual(eas.get_SEA('Reflexionslichtschranke_RSM_DIRECT'), (0, 0)) - # self.assertEqual(eas.get_SEA('Sensor induktiv Flyer+PM'), (4, 0)) - # self.assertEqual(eas.get_SEA('Seilzugschalter'), (0, 0)) + # Ermittlung Mengengerüst + self.assertEqual(eas.get_SEA('Sensor_Traversenabfrage_optisch'), (68, 0)) + self.assertEqual(eas.get_SEA('Reflexionslichtschranke_RSM_DIRECT'), (0, 0)) + self.assertEqual(eas.get_SEA('Sensor induktiv Flyer+PM'), (4, 0)) + self.assertEqual(eas.get_SEA('Seilzugschalter'), (0, 0)) - # self.assertEqual(eas.get_SEA('Weiche'), (0, 35)) - # self.assertEqual(eas.get_SEA('Weiche_nach_PM_bipolar'), (0, 0)) - # self.assertEqual(eas.get_SEA('gemeinsame_Weichenrueckstellung'), (0, 0)) - # self.assertEqual(eas.get_SEA('Dreifach_Weiche_DIRECT'), (0, 0)) - # self.assertEqual(eas.get_SEA('Kreuzungsweiche'), (0, 10)) - # self.assertEqual(eas.get_SEA('Stopper'), (0, 0)) - # self.assertEqual(eas.get_SEA('Ventil_RA_3_2_abhebbar'), (0, 4)) - # self.assertEqual(eas.get_SEA('Ventil_Doppelstreckenantrieb_5_2_abhebbar'), (0, 12)) - # self.assertEqual(eas.get_SEA('Blitzleuchte_Stoerung'), (0, 6)) + self.assertEqual(eas.get_SEA('Weiche'), (0, 35)) + self.assertEqual(eas.get_SEA('Weiche_nach_PM_bipolar'), (0, 0)) + self.assertEqual(eas.get_SEA('gemeinsame_Weichenrueckstellung'), (0, 0)) + self.assertEqual(eas.get_SEA('Dreifach_Weiche_DIRECT'), (0, 0)) + self.assertEqual(eas.get_SEA('Kreuzungsweiche'), (0, 10)) + self.assertEqual(eas.get_SEA('Stopper'), (0, 0)) + self.assertEqual(eas.get_SEA('Ventil_RA_3_2_abhebbar'), (0, 4)) + self.assertEqual(eas.get_SEA('Ventil_Doppelstreckenantrieb_5_2_abhebbar'), (0, 12)) + self.assertEqual(eas.get_SEA('Blitzleuchte_Stoerung'), (0, 6)) - # self.assertEqual(eas.get_SEA('Schnittstelle_Flyer_ElectroJet'), (8, 8)) - # self.assertEqual(eas.get_SEA('Schnittstelle_Putzmaschine_Neuhauser'), (0, 0)) - # self.assertEqual(eas.get_SEA('FEldbux_UV_EinAusgang'), (14, 7)) + self.assertEqual(eas.get_SEA('Schnittstelle_Flyer_ElectroJet'), (8, 8)) + self.assertEqual(eas.get_SEA('Schnittstelle_Putzmaschine_Neuhauser'), (0, 0)) + self.assertEqual(eas.get_SEA('FEldbux_UV_EinAusgang'), (14, 7)) - # self.assertEqual(eas.get_SEA('Spulenumsetzstation'), (0, 0)) + self.assertEqual(eas.get_SEA('Spulenumsetzstation'), (0, 0)) - # self.assertEqual(eas.get_SEA('RA_unidirektional'), (0, 4)) - # self.assertEqual(eas.get_SEA('RA_unidirektional_abhebbar'), (0, 0)) - # self.assertEqual(eas.get_SEA('RA_unidirektional_mit_gemeinsamer_Wendung'), (0, 0)) - # self.assertEqual(eas.get_SEA('RA_unidirektional_ohne_SPS_Ansteuerung'), (0, 0)) - # self.assertEqual(eas.get_SEA('RA_bidirektional'), (0, 60)) - # self.assertEqual(eas.get_SEA('RA_bidirektional_abhebbar'), (0, 8)) - # self.assertEqual(eas.get_SEA('RA_bidirektional_abhebbar_gemeinsWend'), (0, 0)) - # self.assertEqual(eas.get_SEA('RA_bidirektional_ohne_SPS_Ansteuerung'), (0, 0)) - # self.assertEqual(eas.get_SEA('RA_in_RSM_bidirektional'), (0, 0)) - # self.assertEqual(eas.get_SEA('Doppelstreckenantrieb'), (0, 12)) - # self.assertEqual(eas.get_SEA('Doppelstreckenantriebgemeinsame_Wendung'), (0, 0)) - # self.assertEqual(eas.get_SEA('gemeinsame_Wendung'), (0, 0)) - # self.assertEqual(eas.get_SEA('Frequenzumrichter'), (0, 0)) + self.assertEqual(eas.get_SEA('RA_unidirektional'), (0, 4)) + self.assertEqual(eas.get_SEA('RA_unidirektional_abhebbar'), (0, 0)) + self.assertEqual(eas.get_SEA('RA_unidirektional_mit_gemeinsamer_Wendung'), (0, 0)) + self.assertEqual(eas.get_SEA('RA_unidirektional_ohne_SPS_Ansteuerung'), (0, 0)) + self.assertEqual(eas.get_SEA('RA_bidirektional'), (0, 60)) + self.assertEqual(eas.get_SEA('RA_bidirektional_abhebbar'), (0, 8)) + self.assertEqual(eas.get_SEA('RA_bidirektional_abhebbar_gemeinsWend'), (0, 0)) + self.assertEqual(eas.get_SEA('RA_bidirektional_ohne_SPS_Ansteuerung'), (0, 0)) + self.assertEqual(eas.get_SEA('RA_in_RSM_bidirektional'), (0, 0)) + self.assertEqual(eas.get_SEA('Doppelstreckenantrieb'), (0, 12)) + self.assertEqual(eas.get_SEA('Doppelstreckenantriebgemeinsame_Wendung'), (0, 0)) + self.assertEqual(eas.get_SEA('gemeinsame_Wendung'), (0, 0)) + self.assertEqual(eas.get_SEA('Frequenzumrichter'), (0, 0)) - # self.assertEqual(eas.gesamt_E(), 152) - # self.assertEqual(eas.gesamt_A(), 216) + self.assertEqual(eas.gesamt_E(), 152) + self.assertEqual(eas.gesamt_A(), 216) - # self.assertEqual(eas.gesamt_E_incl_reserve(), 160) - # self.assertEqual(eas.gesamt_A_incl_reserve(), 227) + self.assertEqual(eas.gesamt_E_incl_reserve(), 160) + self.assertEqual(eas.gesamt_A_incl_reserve(), 227) - # self.assertEqual(eas.get_SEA('Frequenzumrichter'), (0, 0)) - # (eingänge, ausgänge) = eas.Anzahl_notwendigen_Siemens_EAKarten() - # self.assertEqual(eingänge, 5) - # self.assertEqual(ausgänge, 7) + self.assertEqual(eas.get_SEA('Frequenzumrichter'), (0, 0)) + (eingänge, ausgänge) = eas.Anzahl_notwendigen_Siemens_EAKarten() + self.assertEqual(eingänge, 5) + self.assertEqual(ausgänge, 7) - # (eingänge, ausgänge) = eas.Anzahl_Siemens_EAKarten_incl_reserve() - # self.assertEqual(eingänge, 5) - # self.assertEqual(ausgänge, 8) + (eingänge, ausgänge) = eas.Anzahl_Siemens_EAKarten_incl_reserve() + self.assertEqual(eingänge, 5) + self.assertEqual(ausgänge, 8) - # def test_HW(self): + def test_HW(self): - # Anzahl_MG = { - # "SYSTEM": "FA", - # "RSM":14, - # "Flyer":4, - # "Flyer_Puffer":2, - # "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":1, - # "Anzahl_der_Pufferstrecken_pro_Puffer":5, - # "Begegnungsstrecke_Bypass":2, - # "Turm":0, - # "Turm_Anzahl_Wendlungen":0, - # } + Anzahl_MG = { + "SYSTEM": "FA", + "RSM":14, + "Flyer":4, + "Flyer_Puffer":2, + "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":1, + "Anzahl_der_Pufferstrecken_pro_Puffer":5, + "Begegnungsstrecke_Bypass":2, + "Turm":0, + "Turm_Anzahl_Wendlungen":0, + } - # rsm_direct_eingabe = {} - # rsm_fa_eingabe = { - # "Flex_A_Premium":False, # braucht man das noch? - # "Getriebe_in_der_Mitte":False, # braucht man das noch? - # "RSM_Einfahrt_Ein_Beidseitig":False, # braucht man das noch? - # "Sensor_optisch_Traverse_zusätzlich":6, - # "Bedientableau_1fach_Korrektur":0, - # "Bedientableau_2fach_Korrektur":4, - # "Weiche_Korrektur":4, - # "RRA_bi_Korrektur":0, - # "RRA_bi_auf_Haupstrecke":10, - # "RRA_uni_Begegnung":4, - # "gemeinsame_Wendung":0, - # "Mit_Drucktaster_Korrektur":0, - # "Meldelampe_Überstrom_Korrektur":0, - # "Hauptschalter_Ein-Meldung_Korrektur":0, - # "Werma_Rundumleuchte_Störung_Korrektur":0, - # "klemmkasten_rsm":2, - # } - # flyer_f40_eingabe = { - # #auskommentiert => kein Übergabeparameter, wird in Klasse berechnet - # #"Anzahl":0, - # #"Flyer_Electrojet_incl_intergrierte_Putzmaschine":0, #wird in deckblatt-Klasse berechnet - # "Flyer_Electrojet_incl_intergrierte_Putzmaschine_Korrektur":0, - # #"Flyer_Electrojet_incl_intergrierte_Putzmaschine_Vorpuffer":2, #wird in deckblatt-Klasse berechnet - # #"Flyer_Electrojet_incl_intergrierte_Putzmaschine_Nachpuffer":2, #wird in deckblatt-Klasse berechnet - # #"Anzahl_Schienen":0, - # "Single_Line_Durchfahrt":False, - # "Nachpuffer":False, - # #"Sensor_optisch_Traverse":0, - # "Sensor_optisch_Traverse_Korrektur":0, - # #"Sensor_induktiv_Spulenhalter":0, - # "Sensor_induktiv_Spulenhalter_Korrektur":0, - # #"Bedientableau_2fach":0, - # "Bedientableau_2fach_Korrektur":0, - # #"Interface_Doffer":0, - # "Interface_Doffer_Korrektur":0, - # #"Weiche":0, - # "Weiche_Korrektur":0, - # #"Weiche_nach_Flyer_bipolar":0, - # "Weiche_nach_Flyer_bipolar_Korrektur":0, - # "Dreifachweiche":0, - # "Wechsel":0, - # "Stopper":0, - # "RA_uni":0, - # #"RA_uni_abhebbar":0, - # "RA_uni_abhebbar_Korrektur":0, - # #"RA_uni_ohne_SPS_Ansteuerung":0, - # "RA_uni_ohne_SPS_Ansteuerung_Korrektur":0, - # #"RRA_BI_abhebbar":0, - # "RRA_BI_abhebbar_Korrektur":0, - # "RRA_bi":0, - # #"RRA_bi_Korrektur":0, - # #"RRA_bi_ohne_SPS_Ansteuerung":0, - # "RRA_bi_ohne_SPS_Ansteuerung_Korrektur":0, - # #"Doppelstreckenantrieb":0, - # "Doppelstreckenantrieb_Korrektur":0, - # "RA_bi_abhebbar_unger_Schiene":0, - # #"Meldelampe_Überstrom":0, - # "Meldelampe_Überstrom_Korrektur":0, - # #"Hauptschalter_Ein_Meldung":0, - # "Hauptschalter_Ein-Meldung_Korrektur":0, - # #"Werma_Rundumleuchte_Störung":0, - # "Werma_Rundumleuchte_Störung_Korrektur":0, - # } - # neuenhauser_eingabe = { - # #auskommentiert => kein Übergabeparameter, wird in Klasse berechnet - # #"Anzahl":0, - # #"Neuenhauser-Putzmaschine":0, #wird in deckblatt-Klasse zugewiesen - # #"Neuenhauser-Putzmaschine_Vorpuffer":0, #wird in deckblatt-Klasse zugewiesen - # #"Neuenhauser-Putzmaschine_Nachpuffer":0, #wird in deckblatt-Klasse zugewiesen - # #"Anzahl_Vorstaustrecken":0, - # #"Anzahl_Nachstaustrecken":0, - # #"Sensor_optisch_Traverse":0, - # "Sensor_optisch_Traverse_Korrektur":0, - # #"Sensorik_Zugpositionierung":0, - # #"Sensor_WT18_Spulenprüfung_voll_leer":0, - # #"Bedientableau_2fach":0, - # "Bedientableau_2fach_Korrektur":0, - # #"Interface_Putzmaschine":0, - # #"Weiche":0, - # "Weiche_Korrektur":0, - # #"Weiche_nach_PM_bipolar":0, - # #"RA_uni_abhebbar":0, - # "RA_uni_abhebbar_Korrektur":0, - # #"RA_uni_ohne_SPS_Ansteuerung":0, - # #"RA_uni_abhebbar_unger_Sch":0, - # #"Doppelstreckenantrieb":0, - # #"Meldelampe_Überstrom":0, - # "Meldelampe_Überstrom_Korrektur":0, - # #"Hauptschalter_Ein_Meldung":0, - # "Hauptschalter_Ein-Meldung_Korrektur":0, - # #"Werma_Rundumleuchte_Störung":0, - # "Werma_Rundumleuchte_Störung_Korrektur":0, - # } - # flyer_eingabe = { - # #auskommentiert => kein Übergabeparameter, wird in Klasse berechnet - # #"Anzahl":0, - # #"Flyer":0, # äquivalent zu 'Anzahl' - # #"Anzahl_Schienen:":0, - # #"Sensor_optisch_Traverse":0, - # "Sensor_optisch_Traverse_Korrektur":0, - # #"Sensor_induktiv_Spulenalter_Zug_positionierung":0, - # #"Bedientableau_2fach":0, - # #"Interface_Doffer":0, - # #"Weiche":0, - # "Weiche_Korrektur":0, - # #"Weiche_nach_Flyer_bipolar":0, - # "Dreifachweiche":0, - # #"Wechsel":0, - # "Wechsel_Korrektur":0, - # #"RA_bi_ohne_SPS-Ansteuerung":0, - # #"RA_bi_abhebbar":0, - # "RA_bi_abhebbar_Korrektur":0, - # "RA_bi":4, - # #"Doppelstreckenantrieb":0, - # "RA_bi_abhebbar_unger_Schiene":0, - # #"Meldelampe_Überstrom":0, - # "Meldelampe_Überstrom_Korrektur":0, - # #"Hauptschalter_Ein_Meldung":0, - # "Hauptschalter_Ein-Meldung_Korrektur":0, - # #"Werma_Rundumleuchte_Störung":0, - # "Werma_Rundumleuchte_Störung_Korrektur":0, - # } - # verbindungsstrecken_w_eingabe = { - # #auskommentiert => kein Übergabeparameter, wird in Klasse berechnet - # #"Sensor_optisch_Traverse":0, - # "Bedientableau_1fach":0, - # "Bedientableau_2fach":0, - # "Bedientableau_14fach":0, - # "Weiche":0, - # "Dreifachweiche":0, - # "Kreuzungsweiche":1, - # "Werma_Rundumleuchte_Störung":0, - # "RA_uni":0, - # "RA_uni_ohne_SPS_Ansteuerung":0, - # "RA_bi":0, - # "RA_bi_ohne_SPS-Ansteuerung":0, - # "Doppelstreckenantrieb":0 - # } - # puffer_eingabe = { - # # auskommentiert => kein Übergabeparameter, wird in Klasse berechnet - # # "Anzahl":0, - # # "Puffer":0, #äquivalent zu Anzahl - # # "Anzahl_Pufferstrecken":0, #äquivalent zu Anzahl_Staustrecken - # # "Anzahl_Staustrecken":0, - # # "Sensor_optisch_Traverse":0, - # "Sensor_optisch_Traverse_Korrektur": 1, - # # "Weiche":0, - # "Weiche_Korrektur": 0, - # "RA_bi_ungerade_Schiene": 2, - # # "Doppelstreckenantrieb":0, - # # "Meldelampe_Überstrom":0, - # "Meldelampe_Überstrom_Korrektur": 0, - # # "Hauptschalter_Ein_Meldung":0, - # "Hauptschalter_Ein-Meldung_Korrektur": 0, - # } - # turm_eingabe = { - # #auskommentiert => kein Übergabeparameter, wird in Klasse berechnet - # #"Anzahl":0, - # #"Turm":0, #äquivalent zu Anzahl - # #"Anzahl_Wendlungen":0, #äquivalent zu Anzahl_Staustrecken - # #"Anzahl_Staustrecken":0, - # #"Sensor_optisch_Traverse":0, - # #"Weiche":0, - # #"RA_bi":0, - # "RA_bi_Korrektur":0, - # #"RA_bi_ohne_SPS":0, - # "RA_bi_ohne_SPS_Korrektur":0, - # #"Bedientableau_2fach":0, - # } - # MG = rek.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) + rsm_direct_eingabe = {} + rsm_fa_eingabe = { + "Flex_A_Premium":False, # braucht man das noch? + "Getriebe_in_der_Mitte":False, # braucht man das noch? + "RSM_Einfahrt_Ein_Beidseitig":False, # braucht man das noch? + "Sensor_optisch_Traverse_zusätzlich":6, + "Bedientableau_1fach_Korrektur":0, + "Bedientableau_2fach_Korrektur":4, + "Weiche_Korrektur":4, + "RRA_bi_Korrektur":0, + "RRA_bi_auf_Haupstrecke":10, + "RRA_uni_Begegnung":4, + "gemeinsame_Wendung":0, + "Mit_Drucktaster_Korrektur":0, + "Meldelampe_Überstrom_Korrektur":0, + "Hauptschalter_Ein-Meldung_Korrektur":0, + "Werma_Rundumleuchte_Störung_Korrektur":0, + "klemmkasten_rsm":2, + } + flyer_f40_eingabe = { + #auskommentiert => kein Übergabeparameter, wird in Klasse berechnet + #"Anzahl":0, + #"Flyer_Electrojet_incl_intergrierte_Putzmaschine":0, #wird in deckblatt-Klasse berechnet + "Flyer_Electrojet_incl_intergrierte_Putzmaschine_Korrektur":0, + #"Flyer_Electrojet_incl_intergrierte_Putzmaschine_Vorpuffer":2, #wird in deckblatt-Klasse berechnet + #"Flyer_Electrojet_incl_intergrierte_Putzmaschine_Nachpuffer":2, #wird in deckblatt-Klasse berechnet + #"Anzahl_Schienen":0, + "Single_Line_Durchfahrt":False, + "Nachpuffer":False, + #"Sensor_optisch_Traverse":0, + "Sensor_optisch_Traverse_Korrektur":0, + #"Sensor_induktiv_Spulenhalter":0, + "Sensor_induktiv_Spulenhalter_Korrektur":0, + #"Bedientableau_2fach":0, + "Bedientableau_2fach_Korrektur":0, + #"Interface_Doffer":0, + "Interface_Doffer_Korrektur":0, + #"Weiche":0, + "Weiche_Korrektur":0, + #"Weiche_nach_Flyer_bipolar":0, + "Weiche_nach_Flyer_bipolar_Korrektur":0, + "Dreifachweiche":0, + "Wechsel":0, + "Stopper":0, + "RA_uni":0, + #"RA_uni_abhebbar":0, + "RA_uni_abhebbar_Korrektur":0, + #"RA_uni_ohne_SPS_Ansteuerung":0, + "RA_uni_ohne_SPS_Ansteuerung_Korrektur":0, + #"RRA_BI_abhebbar":0, + "RRA_BI_abhebbar_Korrektur":0, + "RRA_bi":0, + #"RRA_bi_Korrektur":0, + #"RRA_bi_ohne_SPS_Ansteuerung":0, + "RRA_bi_ohne_SPS_Ansteuerung_Korrektur":0, + #"Doppelstreckenantrieb":0, + "Doppelstreckenantrieb_Korrektur":0, + "RA_bi_abhebbar_unger_Schiene":0, + #"Meldelampe_Überstrom":0, + "Meldelampe_Überstrom_Korrektur":0, + #"Hauptschalter_Ein_Meldung":0, + "Hauptschalter_Ein-Meldung_Korrektur":0, + #"Werma_Rundumleuchte_Störung":0, + "Werma_Rundumleuchte_Störung_Korrektur":0, + } + neuenhauser_eingabe = { + #auskommentiert => kein Übergabeparameter, wird in Klasse berechnet + #"Anzahl":0, + #"Neuenhauser-Putzmaschine":0, #wird in deckblatt-Klasse zugewiesen + #"Neuenhauser-Putzmaschine_Vorpuffer":0, #wird in deckblatt-Klasse zugewiesen + #"Neuenhauser-Putzmaschine_Nachpuffer":0, #wird in deckblatt-Klasse zugewiesen + #"Anzahl_Vorstaustrecken":0, + #"Anzahl_Nachstaustrecken":0, + #"Sensor_optisch_Traverse":0, + "Sensor_optisch_Traverse_Korrektur":0, + #"Sensorik_Zugpositionierung":0, + #"Sensor_WT18_Spulenprüfung_voll_leer":0, + #"Bedientableau_2fach":0, + "Bedientableau_2fach_Korrektur":0, + #"Interface_Putzmaschine":0, + #"Weiche":0, + "Weiche_Korrektur":0, + #"Weiche_nach_PM_bipolar":0, + #"RA_uni_abhebbar":0, + "RA_uni_abhebbar_Korrektur":0, + #"RA_uni_ohne_SPS_Ansteuerung":0, + #"RA_uni_abhebbar_unger_Sch":0, + #"Doppelstreckenantrieb":0, + #"Meldelampe_Überstrom":0, + "Meldelampe_Überstrom_Korrektur":0, + #"Hauptschalter_Ein_Meldung":0, + "Hauptschalter_Ein-Meldung_Korrektur":0, + #"Werma_Rundumleuchte_Störung":0, + "Werma_Rundumleuchte_Störung_Korrektur":0, + } + flyer_eingabe = { + #auskommentiert => kein Übergabeparameter, wird in Klasse berechnet + #"Anzahl":0, + #"Flyer":0, # äquivalent zu 'Anzahl' + #"Anzahl_Schienen:":0, + #"Sensor_optisch_Traverse":0, + "Sensor_optisch_Traverse_Korrektur":0, + #"Sensor_induktiv_Spulenalter_Zug_positionierung":0, + #"Bedientableau_2fach":0, + #"Interface_Doffer":0, + #"Weiche":0, + "Weiche_Korrektur":0, + #"Weiche_nach_Flyer_bipolar":0, + "Dreifachweiche":0, + #"Wechsel":0, + "Wechsel_Korrektur":0, + #"RA_bi_ohne_SPS-Ansteuerung":0, + #"RA_bi_abhebbar":0, + "RA_bi_abhebbar_Korrektur":0, + "RA_bi":4, + #"Doppelstreckenantrieb":0, + "RA_bi_abhebbar_unger_Schiene":0, + #"Meldelampe_Überstrom":0, + "Meldelampe_Überstrom_Korrektur":0, + #"Hauptschalter_Ein_Meldung":0, + "Hauptschalter_Ein-Meldung_Korrektur":0, + #"Werma_Rundumleuchte_Störung":0, + "Werma_Rundumleuchte_Störung_Korrektur":0, + } + verbindungsstrecken_w_eingabe = { + #auskommentiert => kein Übergabeparameter, wird in Klasse berechnet + #"Sensor_optisch_Traverse":0, + "Bedientableau_1fach":0, + "Bedientableau_2fach":0, + "Bedientableau_14fach":0, + "Weiche":0, + "Dreifachweiche":0, + "Kreuzungsweiche":1, + "Werma_Rundumleuchte_Störung":0, + "RA_uni":0, + "RA_uni_ohne_SPS_Ansteuerung":0, + "RA_bi":0, + "RA_bi_ohne_SPS-Ansteuerung":0, + "Doppelstreckenantrieb":0 + } + puffer_eingabe = { + # auskommentiert => kein Übergabeparameter, wird in Klasse berechnet + # "Anzahl":0, + # "Puffer":0, #äquivalent zu Anzahl + # "Anzahl_Pufferstrecken":0, #äquivalent zu Anzahl_Staustrecken + # "Anzahl_Staustrecken":0, + # "Sensor_optisch_Traverse":0, + "Sensor_optisch_Traverse_Korrektur": 1, + # "Weiche":0, + "Weiche_Korrektur": 0, + "RA_bi_ungerade_Schiene": 2, + # "Doppelstreckenantrieb":0, + # "Meldelampe_Überstrom":0, + "Meldelampe_Überstrom_Korrektur": 0, + # "Hauptschalter_Ein_Meldung":0, + "Hauptschalter_Ein-Meldung_Korrektur": 0, + } + turm_eingabe = { + #auskommentiert => kein Übergabeparameter, wird in Klasse berechnet + #"Anzahl":0, + #"Turm":0, #äquivalent zu Anzahl + #"Anzahl_Wendlungen":0, #äquivalent zu Anzahl_Staustrecken + #"Anzahl_Staustrecken":0, + #"Sensor_optisch_Traverse":0, + #"Weiche":0, + #"RA_bi":0, + "RA_bi_Korrektur":0, + #"RA_bi_ohne_SPS":0, + "RA_bi_ohne_SPS_Korrektur":0, + #"Bedientableau_2fach":0, + } + mg = rek.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) - # Anzahl_EAS = { - # "schaltschrank":1 - # } - # eas = rek.EA(Anzahl_EAS, rek.MG) + Anzahl_EAS = { + "schaltschrank":1 + } + eas = rek.EA(Anzahl_EAS, mg) - # Anzahl_HW = { - # "schaltschrankgehaeuse_b1x1200+1x800_zubehoer": 1, - # "sps_simatic_s7_1515_2": 1, - # "et200_sp_ea_ebene":1, - # "netzwerk_fernwartung":1, - # "anlagenrechner":1, - # "unterverteiler_fuer_2flyer":2, - # "unterverteiler_fuer_puffer":1, + Anzahl_HW = { + "schaltschrankgehaeuse_b1x1200+1x800_zubehoer": 1, + "sps_simatic_s7_1515_2": 1, + "et200_sp_ea_ebene":1, + "netzwerk_fernwartung":1, + "anlagenrechner":1, + "unterverteiler_fuer_2flyer":2, + "unterverteiler_fuer_puffer":1, - # "korrektur_5_rsm_zusaetzlich_im_unterverteiler":-1, + "korrektur_5_rsm_zusaetzlich_im_unterverteiler":-1, - # "korrektur_10_rsm_zusaetzlich_im_unterverteiler":-2, + "korrektur_10_rsm_zusaetzlich_im_unterverteiler":-2, - # "ET200_SP":1, - # "et200_sp_base_unit_neue_last_mit_potKlemmen_or_et200_sp_base_unit_neue_last":"et200_sp_base_unit_neue_last_mit_potKlemmen", + "ET200_SP":1, + "et200_sp_base_unit_neue_last_mit_potKlemmen_or_et200_sp_base_unit_neue_last":"et200_sp_base_unit_neue_last_mit_potKlemmen", - # # MATERIAL VOR ORT - # "kabelpritschen_leitern_200_60":348, - # "kleinteile_rohre_schellen_kabelbinder_ect":1.5, - # "zuleitung_75_m_unterverteiler_12x4mm2_24_vdc_or_zuleitung_75_m_unterverteiler_12x2_5mm2_24_vdc":"zuleitung_75_m_unterverteiler_12x2_5mm2_24_vdc" - # } + # MATERIAL VOR ORT + "kabelpritschen_leitern_200_60":348, + "kleinteile_rohre_schellen_kabelbinder_ect":1.5, + "zuleitung_75_m_unterverteiler_12x4mm2_24_vdc_or_zuleitung_75_m_unterverteiler_12x2_5mm2_24_vdc":"zuleitung_75_m_unterverteiler_12x2_5mm2_24_vdc" + } - # HW = rek.HW(Anzahl_HW, rek.MG, eas) + hw = rek.HW(Anzahl_HW, mg, eas) - # self.assertEqual(rek.HW.anzahl("schaltschrankgehaeuse_b1x1200_zubehoer"), 0) - # self.assertEqual(rek.HW.anzahl("schaltschrankgehaeuse_b2x800_zubehoer"), 0) - # self.assertEqual(rek.HW.anzahl("schaltschrankgehaeuse_b1x1200+1x800_zubehoer"), 1) - # self.assertEqual(rek.HW.anzahl("sps_simatic_s7_cpu315_2_pn_dp"), 0) - # self.assertEqual(rek.HW.anzahl("speicherkarte_fuer_sps_512_kb"), 0) - # self.assertEqual(rek.HW.anzahl("sps_simatic_s7_cpu317_2_pn_dp"), 0) - # self.assertEqual(rek.HW.anzahl("speicherkarte_fuer_sps2_mb"), 0) - # self.assertEqual(rek.HW.anzahl("sps_simatic_s7_1515_2"), 1) - # self.assertEqual(rek.HW.anzahl("sps_simatic_s7_1517_3"), 0) - # self.assertEqual(rek.HW.anzahl("sps_simatic_s7_1518_4"), 0) - # self.assertEqual(rek.HW.anzahl("sps_et200_1512sp"), 0) - # self.assertEqual(rek.HW.anzahl("memory_card_256_mb"), 1) - # self.assertEqual(rek.HW.anzahl("memory_card_2_gb"), 0) - # self.assertEqual(rek.HW.anzahl("et200_sp_ea_ebene"), 1) - # self.assertEqual(rek.HW.anzahl("netzwerk_fernwartung"), 1) - # self.assertEqual(rek.HW.anzahl("abgang_400v"), 0) - # self.assertEqual(rek.HW.anzahl("abgang_24_v"), 0) - # self.assertEqual(rek.HW.anzahl("anlagenrechner"), 1) - # self.assertEqual(rek.HW.anzahl("anlagenrechner_ohne_bildschirm"), 0) - # self.assertEqual(rek.HW.anzahl("pulteinbau_monitor_srline_rflat_24fhd"), 0) - # self.assertEqual(rek.HW.anzahl("kurzhubtastatur_kbt06_mit_touchpad_uslayout"), 0) - # self.assertEqual(rek.HW.anzahl("netzwerk_display_adapter_lindy"), 0) - # self.assertEqual(rek.HW.anzahl("zusaetzlicher_bildschirm"), 0) - # self.assertEqual(rek.HW.anzahl("schaltschrank"), 1) - # self.assertEqual(rek.HW.anzahl("unterverteiler_fuer_1neuenhauser_pm"), 0) - # self.assertEqual(rek.HW.anzahl("unterverteiler_fuer_1flyer"), 0) - # self.assertEqual(rek.HW.anzahl("unterverteiler_fuer_2flyer"), 2) - # self.assertEqual(rek.HW.anzahl("unterverteiler_fuer_1flyer_f40_mit_integrierter_putzmaschine"), 0) - # self.assertEqual(rek.HW.anzahl("unterverteiler_fuer_2flyer_f40_mit_integrierter_putzmaschine"), 0) - # self.assertEqual(rek.HW.anzahl("unterverteiler_fuer_puffer"), 1) - # self.assertEqual(rek.HW.anzahl("unterverteiler_fuer_5_rsm_fa"), 2) - # self.assertEqual(rek.HW.anzahl("korrektur_5_rsm_zusaetzlich_im_unterverteiler"), -1) - # self.assertEqual(rek.HW.anzahl("unterverteiler_fuer_10_rsm_fa"), 0) - # self.assertEqual(rek.HW.anzahl("korrektur_10_rsm_zusaetzlich_im_unterverteiler"), -2) - # self.assertEqual(rek.HW.anzahl("unterverteiler_fuer_3_rsm_fa_mit_umfahrung_steckbar"), 0) - # self.assertEqual(rek.HW.anzahl("korrektur_3_rsm_zusaetzlich_im_unterverteiler"), 0) - # self.assertEqual(rek.HW.anzahl("unterverteiler_fuer_4_rsm_direct"), 0) - # self.assertEqual(rek.HW.anzahl("korrektur_4_rsm_zusaetzlich_im_unterverteiler"), 0) - # self.assertEqual(rek.HW.anzahl("unterverteiler_fuer_12_rsm_direct"), 0) - # self.assertEqual(rek.HW.anzahl("korrektur_12_rsm_zusaetzlich_im_unterverteiler"), 0) - # self.assertEqual(rek.HW.anzahl("unterverteiler_fuer_8_rsm_direct"), 0) - # self.assertEqual(rek.HW.anzahl("korrektur_8_rsm_direct_zusaetzlich_im_unterverteiler"), 0) - # self.assertEqual(rek.HW.anzahl("busverteiler_6_rsm_direct"), 0) - # self.assertEqual(rek.HW.anzahl("korrektur_6_rsm_zusaetzlich_im_busverteiler"), 0) - # self.assertEqual(rek.HW.anzahl("busverteiler_8_rsm_direct"), 0) - # self.assertEqual(rek.HW.anzahl("korrektur_8_rsm_zusaetzlich_im_busverteiler"), 0) - # self.assertEqual(rek.HW.anzahl("antrieb_unidirektional_halbleiter"), 4) - # self.assertEqual(rek.HW.anzahl("antrieb_bidirektional_halbleiter"), 44) - # self.assertEqual(rek.HW.anzahl("antrieb_unidirektional_schuetz"), 0) - # self.assertEqual(rek.HW.anzahl("antrieb_bidirektional_schuetz"), 0) - # self.assertEqual(rek.HW.anzahl("motorschutzschalter"), 0) - # self.assertEqual(rek.HW.anzahl("wendeschuetzschaltung"), 0) - # self.assertEqual(rek.HW.anzahl("frequenzumrichter"), 0) - # self.assertEqual(rek.HW.anzahl("bedienstation_1fach_kpl"), 14) - # self.assertEqual(rek.HW.anzahl("bedienst_2fach_wechs_bcd_10f"), 0) - # self.assertEqual(rek.HW.anzahl("bedienstation_2fach_kpl"), 10) - # self.assertEqual(rek.HW.anzahl("halter_bedientableau_2fach"), 10) - # self.assertEqual(rek.HW.anzahl("bedienstation_3fach_kpl"), 0) - # self.assertEqual(rek.HW.anzahl("halter_bedientableau_3fach"), 0) - # self.assertEqual(rek.HW.anzahl("bedienstation_4fach_kpl"), 0) - # self.assertEqual(rek.HW.anzahl("halter_bedientableau_4fach"), 0) - # self.assertEqual(rek.HW.anzahl("bedienstation_6fach_kpl"), 0) - # self.assertEqual(rek.HW.anzahl("halter_bedienstation_6fach"), 0) - # self.assertEqual(rek.HW.anzahl("drucktaster_automatische_umfahrung"), 0) - # self.assertEqual(rek.HW.anzahl("halter_fuer_drucktaster"), 0) - # self.assertEqual(rek.HW.anzahl("ET200_SP"), 1) - # self.assertEqual(rek.HW.anzahl("et_200sp_bundle_profinet_im_155_6pn_st_ba_2xrj45"), 7) - # self.assertEqual(rek.HW.anzahl("korrektur_et_200sp_bundle_profinet_im_155_6pn_st_ba_2xrj45"), 0) - # self.assertEqual(rek.HW.anzahl("et200_sp_eingangskarte_8_de"), 31) - # self.assertEqual(rek.HW.anzahl("korrektur_et200_sp_eingangskarte_8_de"), 0) - # self.assertEqual(rek.HW.anzahl("et200_sp_eingangskarte_16_de"), 0) - # self.assertEqual(rek.HW.anzahl("et200_sp_eingangskarte_8_do"), 33) - # self.assertEqual(rek.HW.anzahl("korrektur_et200_sp_eingangskarte_8_do"), 0) - # self.assertEqual(rek.HW.anzahl("et200_sp_eingangskarte_16_do"), 0) - # self.assertEqual(rek.HW.anzahl("et200_sp_base_unit_neue_last_mit_potKlemmen"), 14) - # self.assertEqual(rek.HW.anzahl("korrektur_et200_sp_base_unit_neue_last_mit_potKlemmen"), 0) - # self.assertEqual(rek.HW.anzahl("et200_sp_base_unit_links_gebrueckt_mit_pot_klemmen"), 50) - # self.assertEqual(rek.HW.anzahl("et200_sp_base_unit_neue_last"), 0) - # self.assertEqual(rek.HW.anzahl("korrektur_et200_sp_base_unit_neue_last"), -14) - # self.assertEqual(rek.HW.anzahl("et200_sp_base_unit_links_gebrueckt"), 0) - # self.assertEqual(rek.HW.anzahl("korrektur_et200_sp_base_unit_links_gebrueckt"), 0) - # self.assertEqual(rek.HW.anzahl("SLIO"), 0) - # self.assertEqual(rek.HW.anzahl("et_200sp_bundle_profinet_im_155_6pn_st_ba_2xrj45_SLIO"), 0) - # self.assertEqual(rek.HW.anzahl("korrektur_et_200sp_bundle_profinet_im_155_6pn_st_ba_2xrj45_SLIO"), 0) - # self.assertEqual(rek.HW.anzahl("slio_eingangskarte_4_de"), 0) - # self.assertEqual(rek.HW.anzahl("korrektur_slio_eingangskarte_4_de"), 0) - # self.assertEqual(rek.HW.anzahl("slio_eingangskarte_8_de"), 0) - # self.assertEqual(rek.HW.anzahl("korrektur_slio_eingangskarte_8_de"), 0) - # self.assertEqual(rek.HW.anzahl("slio_ausgangskarte_4_do"), 0) - # self.assertEqual(rek.HW.anzahl("korrektur_slio_ausgangskarte_4_do"), 0) - # self.assertEqual(rek.HW.anzahl("slio_ausgangskarte_8_do"), 0) - # self.assertEqual(rek.HW.anzahl("korrektur_slio_ausgangskarte_8_do"), 0) - # self.assertEqual(rek.HW.anzahl("slio_power_modul"), 0) - # self.assertEqual(rek.HW.anzahl("korrektur_slio_power_modul"), 0) - # self.assertEqual(rek.HW.anzahl("slio_4_x_dc_24v_4_x_dc_0v"), 0) - # self.assertEqual(rek.HW.anzahl("korrektur_slio_4_x_dc_24v_4_x_dc_0v"), 0) - # self.assertEqual(rek.HW.anzahl("slio_8_x_dc_24v"), 0) - # self.assertEqual(rek.HW.anzahl("slio_8_x_dc_0v"), 0) - # self.assertEqual(rek.HW.anzahl("korrektur_slio_8_x_dc_0v"), 0) - # self.assertEqual(rek.HW.anzahl("movimot_fu_mit_anschaltung"), 0) - # self.assertEqual(rek.HW.anzahl("sensor_optisch_traverse"), 68) - # self.assertEqual(rek.HW.anzahl("sensorhalter_ohne_sensor"), 0) - # self.assertEqual(rek.HW.anzahl("reflexionslichtschranke_rsm_direct"), 0) - # self.assertEqual(rek.HW.anzahl("stoppersensor_induktiv_mit_halter"), 4) - # self.assertEqual(rek.HW.anzahl("sensor_spulenpruefung_voll_leer"), 0) - # self.assertEqual(rek.HW.anzahl("seilzugschalter"), 0) - # self.assertEqual(rek.HW.anzahl("seil_fuer_seilzugschalter"), 0) - # self.assertEqual(rek.HW.anzahl("blitzleuchte"), 6) - # self.assertEqual(rek.HW.anzahl("spulenumsetzstation"), 0) - # self.assertEqual(rek.HW.anzahl("sensorkabel_je_20m"), 78) - # self.assertEqual(rek.HW.anzahl("stopper_weichenkabel_je_5m"), 67) - # self.assertEqual(rek.HW.anzahl("motorkabel_je_30m"), 48) - # self.assertEqual(rek.HW.anzahl("kabelpritschen_leitern_200_60"), 348) - # self.assertEqual(rek.HW.anzahl("kabelpritsche_rsm_100_60"), 0) - # self.assertEqual(rek.HW.anzahl("kabelpritsche_rsm_50_35"), 0) - # self.assertEqual(rek.HW.anzahl("klemmkasten_rsm"), 2) - # self.assertEqual(rek.HW.anzahl("klemmkasten_direct_in_rsm"), 0) - # self.assertEqual(rek.HW.anzahl("erdung"), 29) - # self.assertEqual(rek.HW.anzahl("kleinteile_rohre_schellen_kabelbinder_ect"), 1.5) - # self.assertEqual(rek.HW.anzahl("kabel_fuer_klemmkasten_und_bts_60m"), 20) - # self.assertEqual(rek.HW.anzahl("kabel_fuer_1fach_bts_zug_wechseln"), 14) - # self.assertEqual(rek.HW.anzahl("zuleitung_75_m_unterverteiler_4x4mm2_400vac"), 5) - # self.assertEqual(rek.HW.anzahl("zuleitung_75_m_unterverteiler_12x4mm2_24_vdc"), 0) - # self.assertEqual(rek.HW.anzahl("korrektur_zuleitung_75_m_unterverteiler_12x4mm2_24_vdc"), -5) - # self.assertEqual(rek.HW.anzahl("zuleitung_75_m_unterverteiler_12x2_5mm2_24_vdc"), 5) - # self.assertEqual(rek.HW.anzahl("korrektur_zuleitung_75_m_unterverteiler_12x2_5mm2_24_vdc"), 0) - # self.assertEqual(rek.HW.anzahl("zuleitung_55_m_klemmkasten_rsm_mitte_14g1_5_mm"), 0) - # self.assertEqual(rek.HW.anzahl("zuleitung_55_m_klemmkasten_rsm_mitte_14g1_0_mm"), 2) - # self.assertEqual(rek.HW.anzahl("profinetkabel"), 6) - # self.assertEqual(rek.HW.anzahl("korrektur_profinetkabel"), 0) - # self.assertEqual(rek.HW.anzahl("schnittstellen_8x1mm2_30m"), 4) + self.assertEqual(hw.anzahl("schaltschrankgehaeuse_b1x1200_zubehoer"), 0) + self.assertEqual(hw.anzahl("schaltschrankgehaeuse_b2x800_zubehoer"), 0) + self.assertEqual(hw.anzahl("schaltschrankgehaeuse_b1x1200+1x800_zubehoer"), 1) + self.assertEqual(hw.anzahl("sps_simatic_s7_cpu315_2_pn_dp"), 0) + self.assertEqual(hw.anzahl("speicherkarte_fuer_sps_512_kb"), 0) + self.assertEqual(hw.anzahl("sps_simatic_s7_cpu317_2_pn_dp"), 0) + self.assertEqual(hw.anzahl("speicherkarte_fuer_sps2_mb"), 0) + self.assertEqual(hw.anzahl("sps_simatic_s7_1515_2"), 1) + self.assertEqual(hw.anzahl("sps_simatic_s7_1517_3"), 0) + self.assertEqual(hw.anzahl("sps_simatic_s7_1518_4"), 0) + self.assertEqual(hw.anzahl("sps_et200_1512sp"), 0) + self.assertEqual(hw.anzahl("memory_card_256_mb"), 1) + self.assertEqual(hw.anzahl("memory_card_2_gb"), 0) + self.assertEqual(hw.anzahl("et200_sp_ea_ebene"), 1) + self.assertEqual(hw.anzahl("netzwerk_fernwartung"), 1) + self.assertEqual(hw.anzahl("abgang_400v"), 0) + self.assertEqual(hw.anzahl("abgang_24_v"), 0) + self.assertEqual(hw.anzahl("anlagenrechner"), 1) + self.assertEqual(hw.anzahl("anlagenrechner_ohne_bildschirm"), 0) + self.assertEqual(hw.anzahl("pulteinbau_monitor_srline_rflat_24fhd"), 0) + self.assertEqual(hw.anzahl("kurzhubtastatur_kbt06_mit_touchpad_uslayout"), 0) + self.assertEqual(hw.anzahl("netzwerk_display_adapter_lindy"), 0) + self.assertEqual(hw.anzahl("zusaetzlicher_bildschirm"), 0) + self.assertEqual(hw.anzahl("schaltschrank"), 1) + self.assertEqual(hw.anzahl("unterverteiler_fuer_1neuenhauser_pm"), 0) + self.assertEqual(hw.anzahl("unterverteiler_fuer_1flyer"), 0) + self.assertEqual(hw.anzahl("unterverteiler_fuer_2flyer"), 2) + self.assertEqual(hw.anzahl("unterverteiler_fuer_1flyer_f40_mit_integrierter_putzmaschine"), 0) + self.assertEqual(hw.anzahl("unterverteiler_fuer_2flyer_f40_mit_integrierter_putzmaschine"), 0) + self.assertEqual(hw.anzahl("unterverteiler_fuer_puffer"), 1) + self.assertEqual(hw.anzahl("unterverteiler_fuer_5_rsm_fa"), 2) + self.assertEqual(hw.anzahl("korrektur_5_rsm_zusaetzlich_im_unterverteiler"), -1) + self.assertEqual(hw.anzahl("unterverteiler_fuer_10_rsm_fa"), 0) + self.assertEqual(hw.anzahl("korrektur_10_rsm_zusaetzlich_im_unterverteiler"), -2) + self.assertEqual(hw.anzahl("unterverteiler_fuer_3_rsm_fa_mit_umfahrung_steckbar"), 0) + self.assertEqual(hw.anzahl("korrektur_3_rsm_zusaetzlich_im_unterverteiler"), 0) + self.assertEqual(hw.anzahl("unterverteiler_fuer_4_rsm_direct"), 0) + self.assertEqual(hw.anzahl("korrektur_4_rsm_zusaetzlich_im_unterverteiler"), 0) + self.assertEqual(hw.anzahl("unterverteiler_fuer_12_rsm_direct"), 0) + self.assertEqual(hw.anzahl("korrektur_12_rsm_zusaetzlich_im_unterverteiler"), 0) + self.assertEqual(hw.anzahl("unterverteiler_fuer_8_rsm_direct"), 0) + self.assertEqual(hw.anzahl("korrektur_8_rsm_direct_zusaetzlich_im_unterverteiler"), 0) + self.assertEqual(hw.anzahl("busverteiler_6_rsm_direct"), 0) + self.assertEqual(hw.anzahl("korrektur_6_rsm_zusaetzlich_im_busverteiler"), 0) + self.assertEqual(hw.anzahl("busverteiler_8_rsm_direct"), 0) + self.assertEqual(hw.anzahl("korrektur_8_rsm_zusaetzlich_im_busverteiler"), 0) + self.assertEqual(hw.anzahl("antrieb_unidirektional_halbleiter"), 4) + self.assertEqual(hw.anzahl("antrieb_bidirektional_halbleiter"), 44) + self.assertEqual(hw.anzahl("antrieb_unidirektional_schuetz"), 0) + self.assertEqual(hw.anzahl("antrieb_bidirektional_schuetz"), 0) + self.assertEqual(hw.anzahl("motorschutzschalter"), 0) + self.assertEqual(hw.anzahl("wendeschuetzschaltung"), 0) + self.assertEqual(hw.anzahl("frequenzumrichter"), 0) + self.assertEqual(hw.anzahl("bedienstation_1fach_kpl"), 14) + self.assertEqual(hw.anzahl("bedienst_2fach_wechs_bcd_10f"), 0) + self.assertEqual(hw.anzahl("bedienstation_2fach_kpl"), 10) + self.assertEqual(hw.anzahl("halter_bedientableau_2fach"), 10) + self.assertEqual(hw.anzahl("bedienstation_3fach_kpl"), 0) + self.assertEqual(hw.anzahl("halter_bedientableau_3fach"), 0) + self.assertEqual(hw.anzahl("bedienstation_4fach_kpl"), 0) + self.assertEqual(hw.anzahl("halter_bedientableau_4fach"), 0) + self.assertEqual(hw.anzahl("bedienstation_6fach_kpl"), 0) + self.assertEqual(hw.anzahl("halter_bedienstation_6fach"), 0) + self.assertEqual(hw.anzahl("drucktaster_automatische_umfahrung"), 0) + self.assertEqual(hw.anzahl("halter_fuer_drucktaster"), 0) + self.assertEqual(hw.anzahl("ET200_SP"), 1) + self.assertEqual(hw.anzahl("et_200sp_bundle_profinet_im_155_6pn_st_ba_2xrj45"), 7) + self.assertEqual(hw.anzahl("korrektur_et_200sp_bundle_profinet_im_155_6pn_st_ba_2xrj45"), 0) + self.assertEqual(hw.anzahl("et200_sp_eingangskarte_8_de"), 31) + self.assertEqual(hw.anzahl("korrektur_et200_sp_eingangskarte_8_de"), 0) + self.assertEqual(hw.anzahl("et200_sp_eingangskarte_16_de"), 0) + self.assertEqual(hw.anzahl("et200_sp_eingangskarte_8_do"), 33) + self.assertEqual(hw.anzahl("korrektur_et200_sp_eingangskarte_8_do"), 0) + self.assertEqual(hw.anzahl("et200_sp_eingangskarte_16_do"), 0) + self.assertEqual(hw.anzahl("et200_sp_base_unit_neue_last_mit_potKlemmen"), 14) + self.assertEqual(hw.anzahl("korrektur_et200_sp_base_unit_neue_last_mit_potKlemmen"), 0) + self.assertEqual(hw.anzahl("et200_sp_base_unit_links_gebrueckt_mit_pot_klemmen"), 50) + self.assertEqual(hw.anzahl("et200_sp_base_unit_neue_last"), 0) + self.assertEqual(hw.anzahl("korrektur_et200_sp_base_unit_neue_last"), -14) + self.assertEqual(hw.anzahl("et200_sp_base_unit_links_gebrueckt"), 0) + self.assertEqual(hw.anzahl("korrektur_et200_sp_base_unit_links_gebrueckt"), 0) + self.assertEqual(hw.anzahl("SLIO"), 0) + self.assertEqual(hw.anzahl("et_200sp_bundle_profinet_im_155_6pn_st_ba_2xrj45_SLIO"), 0) + self.assertEqual(hw.anzahl("korrektur_et_200sp_bundle_profinet_im_155_6pn_st_ba_2xrj45_SLIO"), 0) + self.assertEqual(hw.anzahl("slio_eingangskarte_4_de"), 0) + self.assertEqual(hw.anzahl("korrektur_slio_eingangskarte_4_de"), 0) + self.assertEqual(hw.anzahl("slio_eingangskarte_8_de"), 0) + self.assertEqual(hw.anzahl("korrektur_slio_eingangskarte_8_de"), 0) + self.assertEqual(hw.anzahl("slio_ausgangskarte_4_do"), 0) + self.assertEqual(hw.anzahl("korrektur_slio_ausgangskarte_4_do"), 0) + self.assertEqual(hw.anzahl("slio_ausgangskarte_8_do"), 0) + self.assertEqual(hw.anzahl("korrektur_slio_ausgangskarte_8_do"), 0) + self.assertEqual(hw.anzahl("slio_power_modul"), 0) + self.assertEqual(hw.anzahl("korrektur_slio_power_modul"), 0) + self.assertEqual(hw.anzahl("slio_4_x_dc_24v_4_x_dc_0v"), 0) + self.assertEqual(hw.anzahl("korrektur_slio_4_x_dc_24v_4_x_dc_0v"), 0) + self.assertEqual(hw.anzahl("slio_8_x_dc_24v"), 0) + self.assertEqual(hw.anzahl("slio_8_x_dc_0v"), 0) + self.assertEqual(hw.anzahl("korrektur_slio_8_x_dc_0v"), 0) + self.assertEqual(hw.anzahl("movimot_fu_mit_anschaltung"), 0) + self.assertEqual(hw.anzahl("sensor_optisch_traverse"), 68) + self.assertEqual(hw.anzahl("sensorhalter_ohne_sensor"), 0) + self.assertEqual(hw.anzahl("reflexionslichtschranke_rsm_direct"), 0) + self.assertEqual(hw.anzahl("stoppersensor_induktiv_mit_halter"), 4) + self.assertEqual(hw.anzahl("sensor_spulenpruefung_voll_leer"), 0) + self.assertEqual(hw.anzahl("seilzugschalter"), 0) + self.assertEqual(hw.anzahl("seil_fuer_seilzugschalter"), 0) + self.assertEqual(hw.anzahl("blitzleuchte"), 6) + self.assertEqual(hw.anzahl("spulenumsetzstation"), 0) + self.assertEqual(hw.anzahl("sensorkabel_je_20m"), 78) + self.assertEqual(hw.anzahl("stopper_weichenkabel_je_5m"), 67) + self.assertEqual(hw.anzahl("motorkabel_je_30m"), 48) + self.assertEqual(hw.anzahl("kabelpritschen_leitern_200_60"), 348) + self.assertEqual(hw.anzahl("kabelpritsche_rsm_100_60"), 0) + self.assertEqual(hw.anzahl("kabelpritsche_rsm_50_35"), 0) + self.assertEqual(hw.anzahl("klemmkasten_rsm"), 2) + self.assertEqual(hw.anzahl("klemmkasten_direct_in_rsm"), 0) + self.assertEqual(hw.anzahl("erdung"), 29) + self.assertEqual(hw.anzahl("kleinteile_rohre_schellen_kabelbinder_ect"), 1.5) + self.assertEqual(hw.anzahl("kabel_fuer_klemmkasten_und_bts_60m"), 20) + self.assertEqual(hw.anzahl("kabel_fuer_1fach_bts_zug_wechseln"), 14) + self.assertEqual(hw.anzahl("zuleitung_75_m_unterverteiler_4x4mm2_400vac"), 5) + self.assertEqual(hw.anzahl("zuleitung_75_m_unterverteiler_12x4mm2_24_vdc"), 0) + self.assertEqual(hw.anzahl("korrektur_zuleitung_75_m_unterverteiler_12x4mm2_24_vdc"), -5) + self.assertEqual(hw.anzahl("zuleitung_75_m_unterverteiler_12x2_5mm2_24_vdc"), 5) + self.assertEqual(hw.anzahl("korrektur_zuleitung_75_m_unterverteiler_12x2_5mm2_24_vdc"), 0) + self.assertEqual(hw.anzahl("zuleitung_55_m_klemmkasten_rsm_mitte_14g1_5_mm"), 0) + self.assertEqual(hw.anzahl("zuleitung_55_m_klemmkasten_rsm_mitte_14g1_0_mm"), 2) + self.assertEqual(hw.anzahl("profinetkabel"), 6) + self.assertEqual(hw.anzahl("korrektur_profinetkabel"), 0) + self.assertEqual(hw.anzahl("schnittstellen_8x1mm2_30m"), 4) - # self.assertEqual(rek.HW.summe_vorort(), 20415.6) - # self.assertAlmostEqual(rek.HW.summe_gesamt(), 47667.04) - # self.assertEqual(rek.HW.summe_in_LL(), 27251.44) - # self.assertEqual(rek.HW.summe_h_zeiten_hardwareplanung(), 167.0) - # self.assertEqual(rek.HW.summe_h_unterverteiler_e_werkstatt(), 94.0) + self.assertEqual(hw.summe_vorort(), 20415.6) + self.assertAlmostEqual(hw.summe_gesamt(), 47667.04) + self.assertEqual(hw.summe_in_LL(), 27251.44) + self.assertEqual(hw.summe_h_zeiten_hardwareplanung(), 167.0) + self.assertEqual(hw.summe_h_unterverteiler_e_werkstatt(), 94.0) - # def test_emo(self): - # Anzahl_MG = { - # "SYSTEM": "FA", - # "RSM":14, - # "Flyer":4, - # "Flyer_Puffer":2, - # "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":1, - # "Anzahl_der_Pufferstrecken_pro_Puffer":5, - # "Begegnungsstrecke_Bypass":2, - # "Turm":0, - # "Turm_Anzahl_Wendlungen":0, - # } + def test_emo(self): + Anzahl_MG = { + "SYSTEM": "FA", + "RSM":14, + "Flyer":4, + "Flyer_Puffer":2, + "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":1, + "Anzahl_der_Pufferstrecken_pro_Puffer":5, + "Begegnungsstrecke_Bypass":2, + "Turm":0, + "Turm_Anzahl_Wendlungen":0, + } - # rsm_direct_eingabe = {} - # rsm_fa_eingabe = { - # "Flex_A_Premium":False, # braucht man das noch? - # "Getriebe_in_der_Mitte":False, # braucht man das noch? - # "RSM_Einfahrt_Ein_Beidseitig":False, # braucht man das noch? - # "Sensor_optisch_Traverse_zusätzlich":6, - # "Bedientableau_1fach_Korrektur":0, - # "Bedientableau_2fach_Korrektur":4, - # "Weiche_Korrektur":4, - # "RRA_bi_Korrektur":0, - # "RRA_bi_auf_Haupstrecke":10, - # "RRA_uni_Begegnung":4, - # "gemeinsame_Wendung":0, - # "Mit_Drucktaster_Korrektur":0, - # "Meldelampe_Überstrom_Korrektur":0, - # "Hauptschalter_Ein-Meldung_Korrektur":0, - # "Werma_Rundumleuchte_Störung_Korrektur":0, - # "klemmkasten_rsm":2, - # } - # flyer_f40_eingabe = { - # #auskommentiert => kein Übergabeparameter, wird in Klasse berechnet - # #"Anzahl":0, - # #"Flyer_Electrojet_incl_intergrierte_Putzmaschine":0, #wird in deckblatt-Klasse berechnet - # "Flyer_Electrojet_incl_intergrierte_Putzmaschine_Korrektur":0, - # #"Flyer_Electrojet_incl_intergrierte_Putzmaschine_Vorpuffer":2, #wird in deckblatt-Klasse berechnet - # #"Flyer_Electrojet_incl_intergrierte_Putzmaschine_Nachpuffer":2, #wird in deckblatt-Klasse berechnet - # #"Anzahl_Schienen":0, - # "Single_Line_Durchfahrt":False, - # "Nachpuffer":False, - # #"Sensor_optisch_Traverse":0, - # "Sensor_optisch_Traverse_Korrektur":0, - # #"Sensor_induktiv_Spulenhalter":0, - # "Sensor_induktiv_Spulenhalter_Korrektur":0, - # #"Bedientableau_2fach":0, - # "Bedientableau_2fach_Korrektur":0, - # #"Interface_Doffer":0, - # "Interface_Doffer_Korrektur":0, - # #"Weiche":0, - # "Weiche_Korrektur":0, - # #"Weiche_nach_Flyer_bipolar":0, - # "Weiche_nach_Flyer_bipolar_Korrektur":0, - # "Dreifachweiche":0, - # "Wechsel":0, - # "Stopper":0, - # "RA_uni":0, - # #"RA_uni_abhebbar":0, - # "RA_uni_abhebbar_Korrektur":0, - # #"RA_uni_ohne_SPS_Ansteuerung":0, - # "RA_uni_ohne_SPS_Ansteuerung_Korrektur":0, - # #"RRA_BI_abhebbar":0, - # "RRA_BI_abhebbar_Korrektur":0, - # "RRA_bi":0, - # #"RRA_bi_Korrektur":0, - # #"RRA_bi_ohne_SPS_Ansteuerung":0, - # "RRA_bi_ohne_SPS_Ansteuerung_Korrektur":0, - # #"Doppelstreckenantrieb":0, - # "Doppelstreckenantrieb_Korrektur":0, - # "RA_bi_abhebbar_unger_Schiene":0, - # #"Meldelampe_Überstrom":0, - # "Meldelampe_Überstrom_Korrektur":0, - # #"Hauptschalter_Ein_Meldung":0, - # "Hauptschalter_Ein-Meldung_Korrektur":0, - # #"Werma_Rundumleuchte_Störung":0, - # "Werma_Rundumleuchte_Störung_Korrektur":0, - # } - # neuenhauser_eingabe = { - # #auskommentiert => kein Übergabeparameter, wird in Klasse berechnet - # #"Anzahl":0, - # #"Neuenhauser-Putzmaschine":0, #wird in deckblatt-Klasse zugewiesen - # #"Neuenhauser-Putzmaschine_Vorpuffer":0, #wird in deckblatt-Klasse zugewiesen - # #"Neuenhauser-Putzmaschine_Nachpuffer":0, #wird in deckblatt-Klasse zugewiesen - # #"Anzahl_Vorstaustrecken":0, - # #"Anzahl_Nachstaustrecken":0, - # #"Sensor_optisch_Traverse":0, - # "Sensor_optisch_Traverse_Korrektur":0, - # #"Sensorik_Zugpositionierung":0, - # #"Sensor_WT18_Spulenprüfung_voll_leer":0, - # #"Bedientableau_2fach":0, - # "Bedientableau_2fach_Korrektur":0, - # #"Interface_Putzmaschine":0, - # #"Weiche":0, - # "Weiche_Korrektur":0, - # #"Weiche_nach_PM_bipolar":0, - # #"RA_uni_abhebbar":0, - # "RA_uni_abhebbar_Korrektur":0, - # #"RA_uni_ohne_SPS_Ansteuerung":0, - # #"RA_uni_abhebbar_unger_Sch":0, - # #"Doppelstreckenantrieb":0, - # #"Meldelampe_Überstrom":0, - # "Meldelampe_Überstrom_Korrektur":0, - # #"Hauptschalter_Ein_Meldung":0, - # "Hauptschalter_Ein-Meldung_Korrektur":0, - # #"Werma_Rundumleuchte_Störung":0, - # "Werma_Rundumleuchte_Störung_Korrektur":0, - # } - # flyer_eingabe = { - # #auskommentiert => kein Übergabeparameter, wird in Klasse berechnet - # #"Anzahl":0, - # #"Flyer":0, # äquivalent zu 'Anzahl' - # #"Anzahl_Schienen:":0, - # #"Sensor_optisch_Traverse":0, - # "Sensor_optisch_Traverse_Korrektur":0, - # #"Sensor_induktiv_Spulenalter_Zug_positionierung":0, - # #"Bedientableau_2fach":0, - # #"Interface_Doffer":0, - # #"Weiche":0, - # "Weiche_Korrektur":0, - # #"Weiche_nach_Flyer_bipolar":0, - # "Dreifachweiche":0, - # #"Wechsel":0, - # "Wechsel_Korrektur":0, - # #"RA_bi_ohne_SPS-Ansteuerung":0, - # #"RA_bi_abhebbar":0, - # "RA_bi_abhebbar_Korrektur":0, - # "RA_bi":4, - # #"Doppelstreckenantrieb":0, - # "RA_bi_abhebbar_unger_Schiene":0, - # #"Meldelampe_Überstrom":0, - # "Meldelampe_Überstrom_Korrektur":0, - # #"Hauptschalter_Ein_Meldung":0, - # "Hauptschalter_Ein-Meldung_Korrektur":0, - # #"Werma_Rundumleuchte_Störung":0, - # "Werma_Rundumleuchte_Störung_Korrektur":0, - # } - # verbindungsstrecken_w_eingabe = { - # #auskommentiert => kein Übergabeparameter, wird in Klasse berechnet - # #"Sensor_optisch_Traverse":0, - # "Bedientableau_1fach":0, - # "Bedientableau_2fach":0, - # "Bedientableau_14fach":0, - # "Weiche":0, - # "Dreifachweiche":0, - # "Kreuzungsweiche":1, - # "Werma_Rundumleuchte_Störung":0, - # "RA_uni":0, - # "RA_uni_ohne_SPS_Ansteuerung":0, - # "RA_bi":0, - # "RA_bi_ohne_SPS-Ansteuerung":0, - # "Doppelstreckenantrieb":0 - # } - # puffer_eingabe = { - # # auskommentiert => kein Übergabeparameter, wird in Klasse berechnet - # # "Anzahl":0, - # # "Puffer":0, #äquivalent zu Anzahl - # # "Anzahl_Pufferstrecken":0, #äquivalent zu Anzahl_Staustrecken - # # "Anzahl_Staustrecken":0, - # # "Sensor_optisch_Traverse":0, - # "Sensor_optisch_Traverse_Korrektur": 1, - # # "Weiche":0, - # "Weiche_Korrektur": 0, - # "RA_bi_ungerade_Schiene": 2, - # # "Doppelstreckenantrieb":0, - # # "Meldelampe_Überstrom":0, - # "Meldelampe_Überstrom_Korrektur": 0, - # # "Hauptschalter_Ein_Meldung":0, - # "Hauptschalter_Ein-Meldung_Korrektur": 0, - # } - # turm_eingabe = { - # #auskommentiert => kein Übergabeparameter, wird in Klasse berechnet - # #"Anzahl":0, - # #"Turm":0, #äquivalent zu Anzahl - # #"Anzahl_Wendlungen":0, #äquivalent zu Anzahl_Staustrecken - # #"Anzahl_Staustrecken":0, - # #"Sensor_optisch_Traverse":0, - # #"Weiche":0, - # #"RA_bi":0, - # "RA_bi_Korrektur":0, - # #"RA_bi_ohne_SPS":0, - # "RA_bi_ohne_SPS_Korrektur":0, - # #"Bedientableau_2fach":0, - # } - # MG = rek.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) + rsm_direct_eingabe = {} + rsm_fa_eingabe = { + "Flex_A_Premium":False, # braucht man das noch? + "Getriebe_in_der_Mitte":False, # braucht man das noch? + "RSM_Einfahrt_Ein_Beidseitig":False, # braucht man das noch? + "Sensor_optisch_Traverse_zusätzlich":6, + "Bedientableau_1fach_Korrektur":0, + "Bedientableau_2fach_Korrektur":4, + "Weiche_Korrektur":4, + "RRA_bi_Korrektur":0, + "RRA_bi_auf_Haupstrecke":10, + "RRA_uni_Begegnung":4, + "gemeinsame_Wendung":0, + "Mit_Drucktaster_Korrektur":0, + "Meldelampe_Überstrom_Korrektur":0, + "Hauptschalter_Ein-Meldung_Korrektur":0, + "Werma_Rundumleuchte_Störung_Korrektur":0, + "klemmkasten_rsm":2, + } + flyer_f40_eingabe = { + #auskommentiert => kein Übergabeparameter, wird in Klasse berechnet + #"Anzahl":0, + #"Flyer_Electrojet_incl_intergrierte_Putzmaschine":0, #wird in deckblatt-Klasse berechnet + "Flyer_Electrojet_incl_intergrierte_Putzmaschine_Korrektur":0, + #"Flyer_Electrojet_incl_intergrierte_Putzmaschine_Vorpuffer":2, #wird in deckblatt-Klasse berechnet + #"Flyer_Electrojet_incl_intergrierte_Putzmaschine_Nachpuffer":2, #wird in deckblatt-Klasse berechnet + #"Anzahl_Schienen":0, + "Single_Line_Durchfahrt":False, + "Nachpuffer":False, + #"Sensor_optisch_Traverse":0, + "Sensor_optisch_Traverse_Korrektur":0, + #"Sensor_induktiv_Spulenhalter":0, + "Sensor_induktiv_Spulenhalter_Korrektur":0, + #"Bedientableau_2fach":0, + "Bedientableau_2fach_Korrektur":0, + #"Interface_Doffer":0, + "Interface_Doffer_Korrektur":0, + #"Weiche":0, + "Weiche_Korrektur":0, + #"Weiche_nach_Flyer_bipolar":0, + "Weiche_nach_Flyer_bipolar_Korrektur":0, + "Dreifachweiche":0, + "Wechsel":0, + "Stopper":0, + "RA_uni":0, + #"RA_uni_abhebbar":0, + "RA_uni_abhebbar_Korrektur":0, + #"RA_uni_ohne_SPS_Ansteuerung":0, + "RA_uni_ohne_SPS_Ansteuerung_Korrektur":0, + #"RRA_BI_abhebbar":0, + "RRA_BI_abhebbar_Korrektur":0, + "RRA_bi":0, + #"RRA_bi_Korrektur":0, + #"RRA_bi_ohne_SPS_Ansteuerung":0, + "RRA_bi_ohne_SPS_Ansteuerung_Korrektur":0, + #"Doppelstreckenantrieb":0, + "Doppelstreckenantrieb_Korrektur":0, + "RA_bi_abhebbar_unger_Schiene":0, + #"Meldelampe_Überstrom":0, + "Meldelampe_Überstrom_Korrektur":0, + #"Hauptschalter_Ein_Meldung":0, + "Hauptschalter_Ein-Meldung_Korrektur":0, + #"Werma_Rundumleuchte_Störung":0, + "Werma_Rundumleuchte_Störung_Korrektur":0, + } + neuenhauser_eingabe = { + #auskommentiert => kein Übergabeparameter, wird in Klasse berechnet + #"Anzahl":0, + #"Neuenhauser-Putzmaschine":0, #wird in deckblatt-Klasse zugewiesen + #"Neuenhauser-Putzmaschine_Vorpuffer":0, #wird in deckblatt-Klasse zugewiesen + #"Neuenhauser-Putzmaschine_Nachpuffer":0, #wird in deckblatt-Klasse zugewiesen + #"Anzahl_Vorstaustrecken":0, + #"Anzahl_Nachstaustrecken":0, + #"Sensor_optisch_Traverse":0, + "Sensor_optisch_Traverse_Korrektur":0, + #"Sensorik_Zugpositionierung":0, + #"Sensor_WT18_Spulenprüfung_voll_leer":0, + #"Bedientableau_2fach":0, + "Bedientableau_2fach_Korrektur":0, + #"Interface_Putzmaschine":0, + #"Weiche":0, + "Weiche_Korrektur":0, + #"Weiche_nach_PM_bipolar":0, + #"RA_uni_abhebbar":0, + "RA_uni_abhebbar_Korrektur":0, + #"RA_uni_ohne_SPS_Ansteuerung":0, + #"RA_uni_abhebbar_unger_Sch":0, + #"Doppelstreckenantrieb":0, + #"Meldelampe_Überstrom":0, + "Meldelampe_Überstrom_Korrektur":0, + #"Hauptschalter_Ein_Meldung":0, + "Hauptschalter_Ein-Meldung_Korrektur":0, + #"Werma_Rundumleuchte_Störung":0, + "Werma_Rundumleuchte_Störung_Korrektur":0, + } + flyer_eingabe = { + #auskommentiert => kein Übergabeparameter, wird in Klasse berechnet + #"Anzahl":0, + #"Flyer":0, # äquivalent zu 'Anzahl' + #"Anzahl_Schienen:":0, + #"Sensor_optisch_Traverse":0, + "Sensor_optisch_Traverse_Korrektur":0, + #"Sensor_induktiv_Spulenalter_Zug_positionierung":0, + #"Bedientableau_2fach":0, + #"Interface_Doffer":0, + #"Weiche":0, + "Weiche_Korrektur":0, + #"Weiche_nach_Flyer_bipolar":0, + "Dreifachweiche":0, + #"Wechsel":0, + "Wechsel_Korrektur":0, + #"RA_bi_ohne_SPS-Ansteuerung":0, + #"RA_bi_abhebbar":0, + "RA_bi_abhebbar_Korrektur":0, + "RA_bi":4, + #"Doppelstreckenantrieb":0, + "RA_bi_abhebbar_unger_Schiene":0, + #"Meldelampe_Überstrom":0, + "Meldelampe_Überstrom_Korrektur":0, + #"Hauptschalter_Ein_Meldung":0, + "Hauptschalter_Ein-Meldung_Korrektur":0, + #"Werma_Rundumleuchte_Störung":0, + "Werma_Rundumleuchte_Störung_Korrektur":0, + } + verbindungsstrecken_w_eingabe = { + #auskommentiert => kein Übergabeparameter, wird in Klasse berechnet + #"Sensor_optisch_Traverse":0, + "Bedientableau_1fach":0, + "Bedientableau_2fach":0, + "Bedientableau_14fach":0, + "Weiche":0, + "Dreifachweiche":0, + "Kreuzungsweiche":1, + "Werma_Rundumleuchte_Störung":0, + "RA_uni":0, + "RA_uni_ohne_SPS_Ansteuerung":0, + "RA_bi":0, + "RA_bi_ohne_SPS-Ansteuerung":0, + "Doppelstreckenantrieb":0 + } + puffer_eingabe = { + # auskommentiert => kein Übergabeparameter, wird in Klasse berechnet + # "Anzahl":0, + # "Puffer":0, #äquivalent zu Anzahl + # "Anzahl_Pufferstrecken":0, #äquivalent zu Anzahl_Staustrecken + # "Anzahl_Staustrecken":0, + # "Sensor_optisch_Traverse":0, + "Sensor_optisch_Traverse_Korrektur": 1, + # "Weiche":0, + "Weiche_Korrektur": 0, + "RA_bi_ungerade_Schiene": 2, + # "Doppelstreckenantrieb":0, + # "Meldelampe_Überstrom":0, + "Meldelampe_Überstrom_Korrektur": 0, + # "Hauptschalter_Ein_Meldung":0, + "Hauptschalter_Ein-Meldung_Korrektur": 0, + } + turm_eingabe = { + #auskommentiert => kein Übergabeparameter, wird in Klasse berechnet + #"Anzahl":0, + #"Turm":0, #äquivalent zu Anzahl + #"Anzahl_Wendlungen":0, #äquivalent zu Anzahl_Staustrecken + #"Anzahl_Staustrecken":0, + #"Sensor_optisch_Traverse":0, + #"Weiche":0, + #"RA_bi":0, + "RA_bi_Korrektur":0, + #"RA_bi_ohne_SPS":0, + "RA_bi_ohne_SPS_Korrektur":0, + #"Bedientableau_2fach":0, + } + mg = rek.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) - # Anzahl_EAS = { - # "schaltschrank":1 - # } - # eas = rek.EA(Anzahl_EAS, rek.MG) + Anzahl_EAS = { + "schaltschrank":1 + } + eas = rek.EA(Anzahl_EAS, mg) - # Anzahl_HW = { - # "schaltschrankgehaeuse_b1x1200+1x800_zubehoer": 1, - # "sps_simatic_s7_1515_2": 1, - # "et200_sp_ea_ebene":1, - # "netzwerk_fernwartung":1, - # "anlagenrechner":1, - # "unterverteiler_fuer_2flyer":2, - # "unterverteiler_fuer_puffer":1, + Anzahl_HW = { + "schaltschrankgehaeuse_b1x1200+1x800_zubehoer": 1, + "sps_simatic_s7_1515_2": 1, + "et200_sp_ea_ebene":1, + "netzwerk_fernwartung":1, + "anlagenrechner":1, + "unterverteiler_fuer_2flyer":2, + "unterverteiler_fuer_puffer":1, - # "korrektur_5_rsm_zusaetzlich_im_unterverteiler":-1, + "korrektur_5_rsm_zusaetzlich_im_unterverteiler":-1, - # "korrektur_10_rsm_zusaetzlich_im_unterverteiler":-2, + "korrektur_10_rsm_zusaetzlich_im_unterverteiler":-2, - # "ET200_SP":1, - # "et200_sp_base_unit_neue_last_mit_potKlemmen_or_et200_sp_base_unit_neue_last":"et200_sp_base_unit_neue_last_mit_potKlemmen", + "ET200_SP":1, + "et200_sp_base_unit_neue_last_mit_potKlemmen_or_et200_sp_base_unit_neue_last":"et200_sp_base_unit_neue_last_mit_potKlemmen", - # # MATERIAL VOR ORT - # "kabelpritschen_leitern_200_60":348, - # "kleinteile_rohre_schellen_kabelbinder_ect":1.5, - # "zuleitung_75_m_unterverteiler_12x4mm2_24_vdc_or_zuleitung_75_m_unterverteiler_12x2_5mm2_24_vdc":"zuleitung_75_m_unterverteiler_12x2_5mm2_24_vdc" - # } + # MATERIAL VOR ORT + "kabelpritschen_leitern_200_60":348, + "kleinteile_rohre_schellen_kabelbinder_ect":1.5, + "zuleitung_75_m_unterverteiler_12x4mm2_24_vdc_or_zuleitung_75_m_unterverteiler_12x2_5mm2_24_vdc":"zuleitung_75_m_unterverteiler_12x2_5mm2_24_vdc" + } - # HW = rek.HW(Anzahl_HW, rek.MG, eas) - # EMO = rek.EMO(eas, rek.HW, rek.MG) - # self.assertAlmostEqual(rek.EMO.dauer_emo_h(), 241) - # self.assertAlmostEqual(rek.EMO.dauer_emo_h_incl_mehrauwand(), 265.1) + hw = rek.HW(Anzahl_HW, mg, eas) + emo = rek.EMO(eas, hw, mg) + self.assertAlmostEqual(emo.dauer_emo_h(), 241) + self.assertAlmostEqual(emo.dauer_emo_h_incl_mehrauwand(), 265.1) - # def test_dienstleistung(self): - # Anzahl_MG = { - # "SYSTEM": "FA", - # "RSM":14, - # "Flyer":4, - # "Flyer_Puffer":2, - # "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":1, - # "Anzahl_der_Pufferstrecken_pro_Puffer":5, - # "Begegnungsstrecke_Bypass":2, - # "Turm":0, - # "Turm_Anzahl_Wendlungen":0, - # } + def test_dienstleistung(self): + Anzahl_MG = { + "SYSTEM": "FA", + "RSM":14, + "Flyer":4, + "Flyer_Puffer":2, + "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":1, + "Anzahl_der_Pufferstrecken_pro_Puffer":5, + "Begegnungsstrecke_Bypass":2, + "Turm":0, + "Turm_Anzahl_Wendlungen":0, + } - # rsm_direct_eingabe = {} - # rsm_fa_eingabe = { - # "Flex_A_Premium":False, # braucht man das noch? - # "Getriebe_in_der_Mitte":False, # braucht man das noch? - # "RSM_Einfahrt_Ein_Beidseitig":False, # braucht man das noch? - # "Sensor_optisch_Traverse_zusätzlich":6, - # "Bedientableau_1fach_Korrektur":0, - # "Bedientableau_2fach_Korrektur":4, - # "Weiche_Korrektur":4, - # "RRA_bi_Korrektur":0, - # "RRA_bi_auf_Haupstrecke":10, - # "RRA_uni_Begegnung":4, - # "gemeinsame_Wendung":0, - # "Mit_Drucktaster_Korrektur":0, - # "Meldelampe_Überstrom_Korrektur":0, - # "Hauptschalter_Ein-Meldung_Korrektur":0, - # "Werma_Rundumleuchte_Störung_Korrektur":0, - # "klemmkasten_rsm":2, - # } - # flyer_f40_eingabe = { - # #auskommentiert => kein Übergabeparameter, wird in Klasse berechnet - # #"Anzahl":0, - # #"Flyer_Electrojet_incl_intergrierte_Putzmaschine":0, #wird in deckblatt-Klasse berechnet - # "Flyer_Electrojet_incl_intergrierte_Putzmaschine_Korrektur":0, - # #"Flyer_Electrojet_incl_intergrierte_Putzmaschine_Vorpuffer":2, #wird in deckblatt-Klasse berechnet - # #"Flyer_Electrojet_incl_intergrierte_Putzmaschine_Nachpuffer":2, #wird in deckblatt-Klasse berechnet - # #"Anzahl_Schienen":0, - # "Single_Line_Durchfahrt":False, - # "Nachpuffer":False, - # #"Sensor_optisch_Traverse":0, - # "Sensor_optisch_Traverse_Korrektur":0, - # #"Sensor_induktiv_Spulenhalter":0, - # "Sensor_induktiv_Spulenhalter_Korrektur":0, - # #"Bedientableau_2fach":0, - # "Bedientableau_2fach_Korrektur":0, - # #"Interface_Doffer":0, - # "Interface_Doffer_Korrektur":0, - # #"Weiche":0, - # "Weiche_Korrektur":0, - # #"Weiche_nach_Flyer_bipolar":0, - # "Weiche_nach_Flyer_bipolar_Korrektur":0, - # "Dreifachweiche":0, - # "Wechsel":0, - # "Stopper":0, - # "RA_uni":0, - # #"RA_uni_abhebbar":0, - # "RA_uni_abhebbar_Korrektur":0, - # #"RA_uni_ohne_SPS_Ansteuerung":0, - # "RA_uni_ohne_SPS_Ansteuerung_Korrektur":0, - # #"RRA_BI_abhebbar":0, - # "RRA_BI_abhebbar_Korrektur":0, - # "RRA_bi":0, - # #"RRA_bi_Korrektur":0, - # #"RRA_bi_ohne_SPS_Ansteuerung":0, - # "RRA_bi_ohne_SPS_Ansteuerung_Korrektur":0, - # #"Doppelstreckenantrieb":0, - # "Doppelstreckenantrieb_Korrektur":0, - # "RA_bi_abhebbar_unger_Schiene":0, - # #"Meldelampe_Überstrom":0, - # "Meldelampe_Überstrom_Korrektur":0, - # #"Hauptschalter_Ein_Meldung":0, - # "Hauptschalter_Ein-Meldung_Korrektur":0, - # #"Werma_Rundumleuchte_Störung":0, - # "Werma_Rundumleuchte_Störung_Korrektur":0, - # } - # neuenhauser_eingabe = { - # #auskommentiert => kein Übergabeparameter, wird in Klasse berechnet - # #"Anzahl":0, - # #"Neuenhauser-Putzmaschine":0, #wird in deckblatt-Klasse zugewiesen - # #"Neuenhauser-Putzmaschine_Vorpuffer":0, #wird in deckblatt-Klasse zugewiesen - # #"Neuenhauser-Putzmaschine_Nachpuffer":0, #wird in deckblatt-Klasse zugewiesen - # #"Anzahl_Vorstaustrecken":0, - # #"Anzahl_Nachstaustrecken":0, - # #"Sensor_optisch_Traverse":0, - # "Sensor_optisch_Traverse_Korrektur":0, - # #"Sensorik_Zugpositionierung":0, - # #"Sensor_WT18_Spulenprüfung_voll_leer":0, - # #"Bedientableau_2fach":0, - # "Bedientableau_2fach_Korrektur":0, - # #"Interface_Putzmaschine":0, - # #"Weiche":0, - # "Weiche_Korrektur":0, - # #"Weiche_nach_PM_bipolar":0, - # #"RA_uni_abhebbar":0, - # "RA_uni_abhebbar_Korrektur":0, - # #"RA_uni_ohne_SPS_Ansteuerung":0, - # #"RA_uni_abhebbar_unger_Sch":0, - # #"Doppelstreckenantrieb":0, - # #"Meldelampe_Überstrom":0, - # "Meldelampe_Überstrom_Korrektur":0, - # #"Hauptschalter_Ein_Meldung":0, - # "Hauptschalter_Ein-Meldung_Korrektur":0, - # #"Werma_Rundumleuchte_Störung":0, - # "Werma_Rundumleuchte_Störung_Korrektur":0, - # } - # flyer_eingabe = { - # #auskommentiert => kein Übergabeparameter, wird in Klasse berechnet - # #"Anzahl":0, - # #"Flyer":0, # äquivalent zu 'Anzahl' - # #"Anzahl_Schienen:":0, - # #"Sensor_optisch_Traverse":0, - # "Sensor_optisch_Traverse_Korrektur":0, - # #"Sensor_induktiv_Spulenalter_Zug_positionierung":0, - # #"Bedientableau_2fach":0, - # #"Interface_Doffer":0, - # #"Weiche":0, - # "Weiche_Korrektur":0, - # #"Weiche_nach_Flyer_bipolar":0, - # "Dreifachweiche":0, - # #"Wechsel":0, - # "Wechsel_Korrektur":0, - # #"RA_bi_ohne_SPS-Ansteuerung":0, - # #"RA_bi_abhebbar":0, - # "RA_bi_abhebbar_Korrektur":0, - # "RA_bi":4, - # #"Doppelstreckenantrieb":0, - # "RA_bi_abhebbar_unger_Schiene":0, - # #"Meldelampe_Überstrom":0, - # "Meldelampe_Überstrom_Korrektur":0, - # #"Hauptschalter_Ein_Meldung":0, - # "Hauptschalter_Ein-Meldung_Korrektur":0, - # #"Werma_Rundumleuchte_Störung":0, - # "Werma_Rundumleuchte_Störung_Korrektur":0, - # } - # verbindungsstrecken_w_eingabe = { - # #auskommentiert => kein Übergabeparameter, wird in Klasse berechnet - # #"Sensor_optisch_Traverse":0, - # "Bedientableau_1fach":0, - # "Bedientableau_2fach":0, - # "Bedientableau_14fach":0, - # "Weiche":0, - # "Dreifachweiche":0, - # "Kreuzungsweiche":1, - # "Werma_Rundumleuchte_Störung":0, - # "RA_uni":0, - # "RA_uni_ohne_SPS_Ansteuerung":0, - # "RA_bi":0, - # "RA_bi_ohne_SPS-Ansteuerung":0, - # "Doppelstreckenantrieb":0 - # } - # puffer_eingabe = { - # # auskommentiert => kein Übergabeparameter, wird in Klasse berechnet - # # "Anzahl":0, - # # "Puffer":0, #äquivalent zu Anzahl - # # "Anzahl_Pufferstrecken":0, #äquivalent zu Anzahl_Staustrecken - # # "Anzahl_Staustrecken":0, - # # "Sensor_optisch_Traverse":0, - # "Sensor_optisch_Traverse_Korrektur": 1, - # # "Weiche":0, - # "Weiche_Korrektur": 0, - # "RA_bi_ungerade_Schiene": 2, - # # "Doppelstreckenantrieb":0, - # "Doppelstreckenantieb_Korrektur":0, - # # "Meldelampe_Überstrom":0, - # "Meldelampe_Überstrom_Korrektur": 0, - # # "Hauptschalter_Ein_Meldung":0, - # "Hauptschalter_Ein-Meldung_Korrektur": 0, - # } - # turm_eingabe = { - # #auskommentiert => kein Übergabeparameter, wird in Klasse berechnet - # #"Anzahl":0, - # #"Turm":0, #äquivalent zu Anzahl - # #"Anzahl_Wendlungen":0, #äquivalent zu Anzahl_Staustrecken - # #"Anzahl_Staustrecken":0, - # #"Sensor_optisch_Traverse":0, - # #"Weiche":0, - # #"RA_bi":0, - # "RA_bi_Korrektur":0, - # #"RA_bi_ohne_SPS":0, - # "RA_bi_ohne_SPS_Korrektur":0, - # #"Bedientableau_2fach":0, - # } - # MG = rek.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) + rsm_direct_eingabe = {} + rsm_fa_eingabe = { + "Flex_A_Premium":False, # braucht man das noch? + "Getriebe_in_der_Mitte":False, # braucht man das noch? + "RSM_Einfahrt_Ein_Beidseitig":False, # braucht man das noch? + "Sensor_optisch_Traverse_zusätzlich":6, + "Bedientableau_1fach_Korrektur":0, + "Bedientableau_2fach_Korrektur":4, + "Weiche_Korrektur":4, + "RRA_bi_Korrektur":0, + "RRA_bi_auf_Haupstrecke":10, + "RRA_uni_Begegnung":4, + "gemeinsame_Wendung":0, + "Mit_Drucktaster_Korrektur":0, + "Meldelampe_Überstrom_Korrektur":0, + "Hauptschalter_Ein-Meldung_Korrektur":0, + "Werma_Rundumleuchte_Störung_Korrektur":0, + "klemmkasten_rsm":2, + } + flyer_f40_eingabe = { + #auskommentiert => kein Übergabeparameter, wird in Klasse berechnet + #"Anzahl":0, + #"Flyer_Electrojet_incl_intergrierte_Putzmaschine":0, #wird in deckblatt-Klasse berechnet + "Flyer_Electrojet_incl_intergrierte_Putzmaschine_Korrektur":0, + #"Flyer_Electrojet_incl_intergrierte_Putzmaschine_Vorpuffer":2, #wird in deckblatt-Klasse berechnet + #"Flyer_Electrojet_incl_intergrierte_Putzmaschine_Nachpuffer":2, #wird in deckblatt-Klasse berechnet + #"Anzahl_Schienen":0, + "Single_Line_Durchfahrt":False, + "Nachpuffer":False, + #"Sensor_optisch_Traverse":0, + "Sensor_optisch_Traverse_Korrektur":0, + #"Sensor_induktiv_Spulenhalter":0, + "Sensor_induktiv_Spulenhalter_Korrektur":0, + #"Bedientableau_2fach":0, + "Bedientableau_2fach_Korrektur":0, + #"Interface_Doffer":0, + "Interface_Doffer_Korrektur":0, + #"Weiche":0, + "Weiche_Korrektur":0, + #"Weiche_nach_Flyer_bipolar":0, + "Weiche_nach_Flyer_bipolar_Korrektur":0, + "Dreifachweiche":0, + "Wechsel":0, + "Stopper":0, + "RA_uni":0, + #"RA_uni_abhebbar":0, + "RA_uni_abhebbar_Korrektur":0, + #"RA_uni_ohne_SPS_Ansteuerung":0, + "RA_uni_ohne_SPS_Ansteuerung_Korrektur":0, + #"RRA_BI_abhebbar":0, + "RRA_BI_abhebbar_Korrektur":0, + "RRA_bi":0, + #"RRA_bi_Korrektur":0, + #"RRA_bi_ohne_SPS_Ansteuerung":0, + "RRA_bi_ohne_SPS_Ansteuerung_Korrektur":0, + #"Doppelstreckenantrieb":0, + "Doppelstreckenantrieb_Korrektur":0, + "RA_bi_abhebbar_unger_Schiene":0, + #"Meldelampe_Überstrom":0, + "Meldelampe_Überstrom_Korrektur":0, + #"Hauptschalter_Ein_Meldung":0, + "Hauptschalter_Ein-Meldung_Korrektur":0, + #"Werma_Rundumleuchte_Störung":0, + "Werma_Rundumleuchte_Störung_Korrektur":0, + } + neuenhauser_eingabe = { + #auskommentiert => kein Übergabeparameter, wird in Klasse berechnet + #"Anzahl":0, + #"Neuenhauser-Putzmaschine":0, #wird in deckblatt-Klasse zugewiesen + #"Neuenhauser-Putzmaschine_Vorpuffer":0, #wird in deckblatt-Klasse zugewiesen + #"Neuenhauser-Putzmaschine_Nachpuffer":0, #wird in deckblatt-Klasse zugewiesen + #"Anzahl_Vorstaustrecken":0, + #"Anzahl_Nachstaustrecken":0, + #"Sensor_optisch_Traverse":0, + "Sensor_optisch_Traverse_Korrektur":0, + #"Sensorik_Zugpositionierung":0, + #"Sensor_WT18_Spulenprüfung_voll_leer":0, + #"Bedientableau_2fach":0, + "Bedientableau_2fach_Korrektur":0, + #"Interface_Putzmaschine":0, + #"Weiche":0, + "Weiche_Korrektur":0, + #"Weiche_nach_PM_bipolar":0, + #"RA_uni_abhebbar":0, + "RA_uni_abhebbar_Korrektur":0, + #"RA_uni_ohne_SPS_Ansteuerung":0, + #"RA_uni_abhebbar_unger_Sch":0, + #"Doppelstreckenantrieb":0, + #"Meldelampe_Überstrom":0, + "Meldelampe_Überstrom_Korrektur":0, + #"Hauptschalter_Ein_Meldung":0, + "Hauptschalter_Ein-Meldung_Korrektur":0, + #"Werma_Rundumleuchte_Störung":0, + "Werma_Rundumleuchte_Störung_Korrektur":0, + } + flyer_eingabe = { + #auskommentiert => kein Übergabeparameter, wird in Klasse berechnet + #"Anzahl":0, + #"Flyer":0, # äquivalent zu 'Anzahl' + #"Anzahl_Schienen:":0, + #"Sensor_optisch_Traverse":0, + "Sensor_optisch_Traverse_Korrektur":0, + #"Sensor_induktiv_Spulenalter_Zug_positionierung":0, + #"Bedientableau_2fach":0, + #"Interface_Doffer":0, + #"Weiche":0, + "Weiche_Korrektur":0, + #"Weiche_nach_Flyer_bipolar":0, + "Dreifachweiche":0, + #"Wechsel":0, + "Wechsel_Korrektur":0, + #"RA_bi_ohne_SPS-Ansteuerung":0, + #"RA_bi_abhebbar":0, + "RA_bi_abhebbar_Korrektur":0, + "RA_bi":4, + #"Doppelstreckenantrieb":0, + "RA_bi_abhebbar_unger_Schiene":0, + #"Meldelampe_Überstrom":0, + "Meldelampe_Überstrom_Korrektur":0, + #"Hauptschalter_Ein_Meldung":0, + "Hauptschalter_Ein-Meldung_Korrektur":0, + #"Werma_Rundumleuchte_Störung":0, + "Werma_Rundumleuchte_Störung_Korrektur":0, + } + verbindungsstrecken_w_eingabe = { + #auskommentiert => kein Übergabeparameter, wird in Klasse berechnet + #"Sensor_optisch_Traverse":0, + "Bedientableau_1fach":0, + "Bedientableau_2fach":0, + "Bedientableau_14fach":0, + "Weiche":0, + "Dreifachweiche":0, + "Kreuzungsweiche":1, + "Werma_Rundumleuchte_Störung":0, + "RA_uni":0, + "RA_uni_ohne_SPS_Ansteuerung":0, + "RA_bi":0, + "RA_bi_ohne_SPS-Ansteuerung":0, + "Doppelstreckenantrieb":0 + } + puffer_eingabe = { + # auskommentiert => kein Übergabeparameter, wird in Klasse berechnet + # "Anzahl":0, + # "Puffer":0, #äquivalent zu Anzahl + # "Anzahl_Pufferstrecken":0, #äquivalent zu Anzahl_Staustrecken + # "Anzahl_Staustrecken":0, + # "Sensor_optisch_Traverse":0, + "Sensor_optisch_Traverse_Korrektur": 1, + # "Weiche":0, + "Weiche_Korrektur": 0, + "RA_bi_ungerade_Schiene": 2, + # "Doppelstreckenantrieb":0, + "Doppelstreckenantieb_Korrektur":0, + # "Meldelampe_Überstrom":0, + "Meldelampe_Überstrom_Korrektur": 0, + # "Hauptschalter_Ein_Meldung":0, + "Hauptschalter_Ein-Meldung_Korrektur": 0, + } + turm_eingabe = { + #auskommentiert => kein Übergabeparameter, wird in Klasse berechnet + #"Anzahl":0, + #"Turm":0, #äquivalent zu Anzahl + #"Anzahl_Wendlungen":0, #äquivalent zu Anzahl_Staustrecken + #"Anzahl_Staustrecken":0, + #"Sensor_optisch_Traverse":0, + #"Weiche":0, + #"RA_bi":0, + "RA_bi_Korrektur":0, + #"RA_bi_ohne_SPS":0, + "RA_bi_ohne_SPS_Korrektur":0, + #"Bedientableau_2fach":0, + } + mg = rek.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) - # Anzahl_EAS = { - # "schaltschrank":1 - # } - # eas = rek.EA(Anzahl_EAS, rek.MG) + Anzahl_EAS = { + "schaltschrank":1 + } + eas = rek.EA(Anzahl_EAS, mg) - # Anzahl_HW = { - # "schaltschrankgehaeuse_b1x1200+1x800_zubehoer": 1, - # "sps_simatic_s7_1515_2": 1, - # "et200_sp_ea_ebene":1, - # "netzwerk_fernwartung":1, - # "anlagenrechner":1, - # "unterverteiler_fuer_2flyer":2, - # "unterverteiler_fuer_puffer":1, + Anzahl_HW = { + "schaltschrankgehaeuse_b1x1200+1x800_zubehoer": 1, + "sps_simatic_s7_1515_2": 1, + "et200_sp_ea_ebene":1, + "netzwerk_fernwartung":1, + "anlagenrechner":1, + "unterverteiler_fuer_2flyer":2, + "unterverteiler_fuer_puffer":1, - # "korrektur_5_rsm_zusaetzlich_im_unterverteiler":-1, + "korrektur_5_rsm_zusaetzlich_im_unterverteiler":-1, - # "korrektur_10_rsm_zusaetzlich_im_unterverteiler":-2, + "korrektur_10_rsm_zusaetzlich_im_unterverteiler":-2, - # "ET200_SP":1, - # "et200_sp_base_unit_neue_last_mit_potKlemmen_or_et200_sp_base_unit_neue_last":"et200_sp_base_unit_neue_last_mit_potKlemmen", + "ET200_SP":1, + "et200_sp_base_unit_neue_last_mit_potKlemmen_or_et200_sp_base_unit_neue_last":"et200_sp_base_unit_neue_last_mit_potKlemmen", - # # MATERIAL VOR ORT - # "kabelpritschen_leitern_200_60":348, - # "kleinteile_rohre_schellen_kabelbinder_ect":1.5, - # "zuleitung_75_m_unterverteiler_12x4mm2_24_vdc_or_zuleitung_75_m_unterverteiler_12x2_5mm2_24_vdc":"zuleitung_75_m_unterverteiler_12x2_5mm2_24_vdc" - # } + # MATERIAL VOR ORT + "kabelpritschen_leitern_200_60":348, + "kleinteile_rohre_schellen_kabelbinder_ect":1.5, + "zuleitung_75_m_unterverteiler_12x4mm2_24_vdc_or_zuleitung_75_m_unterverteiler_12x2_5mm2_24_vdc":"zuleitung_75_m_unterverteiler_12x2_5mm2_24_vdc" + } - # HW = rek.HW(Anzahl_HW, rek.MG, eas) - # Anzahl_DL = { - # "Bedienerhandbuch": 16, - # "SPS_Doku": 15, - # } - # dl = rek.Dienstleistung(Anzahl_DL, rek.HW) - # self.assertEqual(dl.stunden_diensleistung_hardwareplanung(), 225.1) - # self.assertEqual(dl.stunden_elektrowerkstatt(), 196.83333333333333333333333333) - # self.assertEqual(dl.summe_stunden_dienstleistung_in_landsberg(), 421.9333333333333333333) - # self.assertEqual(dl.get_hours_of("Pflichtenheft_Autom_Schnittstellen"), 0) - # self.assertEqual(dl.get_hours_of("Erstellung_Steuerungslayout"), 41.75) - # self.assertEqual(dl.get_hours_of("Schaltplanerstellung_incl_Korrekturen"), 100.2) - # self.assertEqual(dl.get_hours_of("Projektkoordination"), 25.05) - # self.assertEqual(dl.get_hours_of("Materialdispo"), 33.4) - # self.assertEqual(dl.get_hours_of("Abstimmung_mit_E_Werkstatt"), 8.35) - # self.assertEqual(dl.get_hours_of("Erstellen_E_Montageunterlagen"), 8.35) - # self.assertEqual(dl.get_hours_of("PC_Installation"), 8) - # self.assertEqual(dl.get_hours_of("Oberfläche_Simulation"), 0) - # self.assertEqual(dl.get_hours_of("SPS_Test_im_Haus_Simulation"), 0) - # self.assertEqual(dl.get_hours_of("Bedienerhandbuch"), 16) - # self.assertEqual(dl.get_hours_of("SPS_Doku"), 15) - # self.assertEqual(dl.get_hours_of("PC_Doku"), 0) - # self.assertEqual(dl.get_hours_of("Schaltschrankbau"), 88) - # self.assertEqual(dl.get_hours_of("Unterverteilerbau"), 94) - # self.assertEqual(dl.get_hours_of("Klemmkastenbau_je_2h"), 4) - # self.assertEqual(dl.get_hours_of("Bedientableaubau"), 10.833333333333333) - # self.assertEqual(dl.get_hours_of("Vormontage_im_Haus"), 0) + hw = rek.HW(Anzahl_HW, mg, eas) + Anzahl_DL = { + "Bedienerhandbuch": 16, + "SPS_Doku": 15, + } + dl = rek.Dienstleistung(Anzahl_DL, hw) + self.assertEqual(dl.stunden_diensleistung_hardwareplanung(), 225.1) + self.assertEqual(dl.stunden_elektrowerkstatt(), 196.83333333333333333333333333) + self.assertEqual(dl.summe_stunden_dienstleistung_in_landsberg(), 421.9333333333333333333) + self.assertEqual(dl.get_hours_of("Pflichtenheft_Autom_Schnittstellen"), 0) + self.assertEqual(dl.get_hours_of("Erstellung_Steuerungslayout"), 41.75) + self.assertEqual(dl.get_hours_of("Schaltplanerstellung_incl_Korrekturen"), 100.2) + self.assertEqual(dl.get_hours_of("Projektkoordination"), 25.05) + self.assertEqual(dl.get_hours_of("Materialdispo"), 33.4) + self.assertEqual(dl.get_hours_of("Abstimmung_mit_E_Werkstatt"), 8.35) + self.assertEqual(dl.get_hours_of("Erstellen_E_Montageunterlagen"), 8.35) + self.assertEqual(dl.get_hours_of("PC_Installation"), 8) + self.assertEqual(dl.get_hours_of("Oberfläche_Simulation"), 0) + self.assertEqual(dl.get_hours_of("SPS_Test_im_Haus_Simulation"), 0) + self.assertEqual(dl.get_hours_of("Bedienerhandbuch"), 16) + self.assertEqual(dl.get_hours_of("SPS_Doku"), 15) + self.assertEqual(dl.get_hours_of("PC_Doku"), 0) + self.assertEqual(dl.get_hours_of("Schaltschrankbau"), 88) + self.assertEqual(dl.get_hours_of("Unterverteilerbau"), 94) + self.assertEqual(dl.get_hours_of("Klemmkastenbau_je_2h"), 4) + self.assertEqual(dl.get_hours_of("Bedientableaubau"), 10.833333333333333) + self.assertEqual(dl.get_hours_of("Vormontage_im_Haus"), 0) - # def test_anschlussleistung(self): - # Anzahl_MG = { - # "SYSTEM": "FA", - # "RSM":14, - # "Flyer":4, - # "Flyer_Puffer":2, - # "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":1, - # "Anzahl_der_Pufferstrecken_pro_Puffer":5, - # "Begegnungsstrecke_Bypass":2, - # "Turm":0, - # "Turm_Anzahl_Wendlungen":0, - # } + def test_anschlussleistung(self): + Anzahl_MG = { + "SYSTEM": "FA", + "RSM":14, + "Flyer":4, + "Flyer_Puffer":2, + "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":1, + "Anzahl_der_Pufferstrecken_pro_Puffer":5, + "Begegnungsstrecke_Bypass":2, + "Turm":0, + "Turm_Anzahl_Wendlungen":0, + } - # rsm_direct_eingabe = {} - # rsm_fa_eingabe = { - # "Flex_A_Premium":False, # braucht man das noch? - # "Getriebe_in_der_Mitte":False, # braucht man das noch? - # "RSM_Einfahrt_Ein_Beidseitig":False, # braucht man das noch? - # "Sensor_optisch_Traverse_zusätzlich":6, - # "Bedientableau_1fach_Korrektur":0, - # "Bedientableau_2fach_Korrektur":4, - # "Weiche_Korrektur":4, - # "RRA_bi_Korrektur":0, - # "RRA_bi_auf_Haupstrecke":10, - # "RRA_uni_Begegnung":4, - # "gemeinsame_Wendung":0, - # "Mit_Drucktaster_Korrektur":0, - # "Meldelampe_Überstrom_Korrektur":0, - # "Hauptschalter_Ein-Meldung_Korrektur":0, - # "Werma_Rundumleuchte_Störung_Korrektur":0, - # "klemmkasten_rsm":2, - # } - # flyer_f40_eingabe = { - # #auskommentiert => kein Übergabeparameter, wird in Klasse berechnet - # #"Anzahl":0, - # #"Flyer_Electrojet_incl_intergrierte_Putzmaschine":0, #wird in deckblatt-Klasse berechnet - # "Flyer_Electrojet_incl_intergrierte_Putzmaschine_Korrektur":0, - # #"Flyer_Electrojet_incl_intergrierte_Putzmaschine_Vorpuffer":2, #wird in deckblatt-Klasse berechnet - # #"Flyer_Electrojet_incl_intergrierte_Putzmaschine_Nachpuffer":2, #wird in deckblatt-Klasse berechnet - # #"Anzahl_Schienen":0, - # "Single_Line_Durchfahrt":False, - # "Nachpuffer":False, - # #"Sensor_optisch_Traverse":0, - # "Sensor_optisch_Traverse_Korrektur":0, - # #"Sensor_induktiv_Spulenhalter":0, - # "Sensor_induktiv_Spulenhalter_Korrektur":0, - # #"Bedientableau_2fach":0, - # "Bedientableau_2fach_Korrektur":0, - # #"Interface_Doffer":0, - # "Interface_Doffer_Korrektur":0, - # #"Weiche":0, - # "Weiche_Korrektur":0, - # #"Weiche_nach_Flyer_bipolar":0, - # "Weiche_nach_Flyer_bipolar_Korrektur":0, - # "Dreifachweiche":0, - # "Wechsel":0, - # "Stopper":0, - # "RA_uni":0, - # #"RA_uni_abhebbar":0, - # "RA_uni_abhebbar_Korrektur":0, - # #"RA_uni_ohne_SPS_Ansteuerung":0, - # "RA_uni_ohne_SPS_Ansteuerung_Korrektur":0, - # #"RRA_BI_abhebbar":0, - # "RRA_BI_abhebbar_Korrektur":0, - # "RRA_bi":0, - # #"RRA_bi_Korrektur":0, - # #"RRA_bi_ohne_SPS_Ansteuerung":0, - # "RRA_bi_ohne_SPS_Ansteuerung_Korrektur":0, - # #"Doppelstreckenantrieb":0, - # "Doppelstreckenantrieb_Korrektur":0, - # "RA_bi_abhebbar_unger_Schiene":0, - # #"Meldelampe_Überstrom":0, - # "Meldelampe_Überstrom_Korrektur":0, - # #"Hauptschalter_Ein_Meldung":0, - # "Hauptschalter_Ein-Meldung_Korrektur":0, - # #"Werma_Rundumleuchte_Störung":0, - # "Werma_Rundumleuchte_Störung_Korrektur":0, - # } - # neuenhauser_eingabe = { - # #auskommentiert => kein Übergabeparameter, wird in Klasse berechnet - # #"Anzahl":0, - # #"Neuenhauser-Putzmaschine":0, #wird in deckblatt-Klasse zugewiesen - # #"Neuenhauser-Putzmaschine_Vorpuffer":0, #wird in deckblatt-Klasse zugewiesen - # #"Neuenhauser-Putzmaschine_Nachpuffer":0, #wird in deckblatt-Klasse zugewiesen - # #"Anzahl_Vorstaustrecken":0, - # #"Anzahl_Nachstaustrecken":0, - # #"Sensor_optisch_Traverse":0, - # "Sensor_optisch_Traverse_Korrektur":0, - # #"Sensorik_Zugpositionierung":0, - # #"Sensor_WT18_Spulenprüfung_voll_leer":0, - # #"Bedientableau_2fach":0, - # "Bedientableau_2fach_Korrektur":0, - # #"Interface_Putzmaschine":0, - # #"Weiche":0, - # "Weiche_Korrektur":0, - # #"Weiche_nach_PM_bipolar":0, - # #"RA_uni_abhebbar":0, - # "RA_uni_abhebbar_Korrektur":0, - # #"RA_uni_ohne_SPS_Ansteuerung":0, - # #"RA_uni_abhebbar_unger_Sch":0, - # #"Doppelstreckenantrieb":0, - # #"Meldelampe_Überstrom":0, - # "Meldelampe_Überstrom_Korrektur":0, - # #"Hauptschalter_Ein_Meldung":0, - # "Hauptschalter_Ein-Meldung_Korrektur":0, - # #"Werma_Rundumleuchte_Störung":0, - # "Werma_Rundumleuchte_Störung_Korrektur":0, - # } - # flyer_eingabe = { - # #auskommentiert => kein Übergabeparameter, wird in Klasse berechnet - # #"Anzahl":0, - # #"Flyer":0, # äquivalent zu 'Anzahl' - # #"Anzahl_Schienen:":0, - # #"Sensor_optisch_Traverse":0, - # "Sensor_optisch_Traverse_Korrektur":0, - # #"Sensor_induktiv_Spulenalter_Zug_positionierung":0, - # #"Bedientableau_2fach":0, - # #"Interface_Doffer":0, - # #"Weiche":0, - # "Weiche_Korrektur":0, - # #"Weiche_nach_Flyer_bipolar":0, - # "Dreifachweiche":0, - # #"Wechsel":0, - # "Wechsel_Korrektur":0, - # #"RA_bi_ohne_SPS-Ansteuerung":0, - # #"RA_bi_abhebbar":0, - # "RA_bi_abhebbar_Korrektur":0, - # "RA_bi":4, - # #"Doppelstreckenantrieb":0, - # "RA_bi_abhebbar_unger_Schiene":0, - # #"Meldelampe_Überstrom":0, - # "Meldelampe_Überstrom_Korrektur":0, - # #"Hauptschalter_Ein_Meldung":0, - # "Hauptschalter_Ein-Meldung_Korrektur":0, - # #"Werma_Rundumleuchte_Störung":0, - # "Werma_Rundumleuchte_Störung_Korrektur":0, - # } - # verbindungsstrecken_w_eingabe = { - # #auskommentiert => kein Übergabeparameter, wird in Klasse berechnet - # #"Sensor_optisch_Traverse":0, - # "Bedientableau_1fach":0, - # "Bedientableau_2fach":0, - # "Bedientableau_14fach":0, - # "Weiche":0, - # "Dreifachweiche":0, - # "Kreuzungsweiche":1, - # "Werma_Rundumleuchte_Störung":0, - # "RA_uni":0, - # "RA_uni_ohne_SPS_Ansteuerung":0, - # "RA_bi":0, - # "RA_bi_ohne_SPS-Ansteuerung":0, - # "Doppelstreckenantrieb":0 - # } - # puffer_eingabe = { - # # auskommentiert => kein Übergabeparameter, wird in Klasse berechnet - # # "Anzahl":0, - # # "Puffer":0, #äquivalent zu Anzahl - # # "Anzahl_Pufferstrecken":0, #äquivalent zu Anzahl_Staustrecken - # # "Anzahl_Staustrecken":0, - # # "Sensor_optisch_Traverse":0, - # "Sensor_optisch_Traverse_Korrektur": 1, - # # "Weiche":0, - # "Weiche_Korrektur": 0, - # "RA_bi_ungerade_Schiene": 2, - # # "Doppelstreckenantrieb":0, - # "Doppelstreckenantrieb_Korrektur":0, - # # "Meldelampe_Überstrom":0, - # "Meldelampe_Überstrom_Korrektur": 0, - # # "Hauptschalter_Ein_Meldung":0, - # "Hauptschalter_Ein-Meldung_Korrektur": 0, - # } - # turm_eingabe = { - # #auskommentiert => kein Übergabeparameter, wird in Klasse berechnet - # #"Anzahl":0, - # #"Turm":0, #äquivalent zu Anzahl - # #"Anzahl_Wendlungen":0, #äquivalent zu Anzahl_Staustrecken - # #"Anzahl_Staustrecken":0, - # #"Sensor_optisch_Traverse":0, - # #"Weiche":0, - # #"RA_bi":0, - # "RA_bi_Korrektur":0, - # #"RA_bi_ohne_SPS":0, - # "RA_bi_ohne_SPS_Korrektur":0, - # #"Bedientableau_2fach":0, - # } - # MG = rek.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) + rsm_direct_eingabe = {} + rsm_fa_eingabe = { + "Flex_A_Premium":False, # braucht man das noch? + "Getriebe_in_der_Mitte":False, # braucht man das noch? + "RSM_Einfahrt_Ein_Beidseitig":False, # braucht man das noch? + "Sensor_optisch_Traverse_zusätzlich":6, + "Bedientableau_1fach_Korrektur":0, + "Bedientableau_2fach_Korrektur":4, + "Weiche_Korrektur":4, + "RRA_bi_Korrektur":0, + "RRA_bi_auf_Haupstrecke":10, + "RRA_uni_Begegnung":4, + "gemeinsame_Wendung":0, + "Mit_Drucktaster_Korrektur":0, + "Meldelampe_Überstrom_Korrektur":0, + "Hauptschalter_Ein-Meldung_Korrektur":0, + "Werma_Rundumleuchte_Störung_Korrektur":0, + "klemmkasten_rsm":2, + } + flyer_f40_eingabe = { + #auskommentiert => kein Übergabeparameter, wird in Klasse berechnet + #"Anzahl":0, + #"Flyer_Electrojet_incl_intergrierte_Putzmaschine":0, #wird in deckblatt-Klasse berechnet + "Flyer_Electrojet_incl_intergrierte_Putzmaschine_Korrektur":0, + #"Flyer_Electrojet_incl_intergrierte_Putzmaschine_Vorpuffer":2, #wird in deckblatt-Klasse berechnet + #"Flyer_Electrojet_incl_intergrierte_Putzmaschine_Nachpuffer":2, #wird in deckblatt-Klasse berechnet + #"Anzahl_Schienen":0, + "Single_Line_Durchfahrt":False, + "Nachpuffer":False, + #"Sensor_optisch_Traverse":0, + "Sensor_optisch_Traverse_Korrektur":0, + #"Sensor_induktiv_Spulenhalter":0, + "Sensor_induktiv_Spulenhalter_Korrektur":0, + #"Bedientableau_2fach":0, + "Bedientableau_2fach_Korrektur":0, + #"Interface_Doffer":0, + "Interface_Doffer_Korrektur":0, + #"Weiche":0, + "Weiche_Korrektur":0, + #"Weiche_nach_Flyer_bipolar":0, + "Weiche_nach_Flyer_bipolar_Korrektur":0, + "Dreifachweiche":0, + "Wechsel":0, + "Stopper":0, + "RA_uni":0, + #"RA_uni_abhebbar":0, + "RA_uni_abhebbar_Korrektur":0, + #"RA_uni_ohne_SPS_Ansteuerung":0, + "RA_uni_ohne_SPS_Ansteuerung_Korrektur":0, + #"RRA_BI_abhebbar":0, + "RRA_BI_abhebbar_Korrektur":0, + "RRA_bi":0, + #"RRA_bi_Korrektur":0, + #"RRA_bi_ohne_SPS_Ansteuerung":0, + "RRA_bi_ohne_SPS_Ansteuerung_Korrektur":0, + #"Doppelstreckenantrieb":0, + "Doppelstreckenantrieb_Korrektur":0, + "RA_bi_abhebbar_unger_Schiene":0, + #"Meldelampe_Überstrom":0, + "Meldelampe_Überstrom_Korrektur":0, + #"Hauptschalter_Ein_Meldung":0, + "Hauptschalter_Ein-Meldung_Korrektur":0, + #"Werma_Rundumleuchte_Störung":0, + "Werma_Rundumleuchte_Störung_Korrektur":0, + } + neuenhauser_eingabe = { + #auskommentiert => kein Übergabeparameter, wird in Klasse berechnet + #"Anzahl":0, + #"Neuenhauser-Putzmaschine":0, #wird in deckblatt-Klasse zugewiesen + #"Neuenhauser-Putzmaschine_Vorpuffer":0, #wird in deckblatt-Klasse zugewiesen + #"Neuenhauser-Putzmaschine_Nachpuffer":0, #wird in deckblatt-Klasse zugewiesen + #"Anzahl_Vorstaustrecken":0, + #"Anzahl_Nachstaustrecken":0, + #"Sensor_optisch_Traverse":0, + "Sensor_optisch_Traverse_Korrektur":0, + #"Sensorik_Zugpositionierung":0, + #"Sensor_WT18_Spulenprüfung_voll_leer":0, + #"Bedientableau_2fach":0, + "Bedientableau_2fach_Korrektur":0, + #"Interface_Putzmaschine":0, + #"Weiche":0, + "Weiche_Korrektur":0, + #"Weiche_nach_PM_bipolar":0, + #"RA_uni_abhebbar":0, + "RA_uni_abhebbar_Korrektur":0, + #"RA_uni_ohne_SPS_Ansteuerung":0, + #"RA_uni_abhebbar_unger_Sch":0, + #"Doppelstreckenantrieb":0, + #"Meldelampe_Überstrom":0, + "Meldelampe_Überstrom_Korrektur":0, + #"Hauptschalter_Ein_Meldung":0, + "Hauptschalter_Ein-Meldung_Korrektur":0, + #"Werma_Rundumleuchte_Störung":0, + "Werma_Rundumleuchte_Störung_Korrektur":0, + } + flyer_eingabe = { + #auskommentiert => kein Übergabeparameter, wird in Klasse berechnet + #"Anzahl":0, + #"Flyer":0, # äquivalent zu 'Anzahl' + #"Anzahl_Schienen:":0, + #"Sensor_optisch_Traverse":0, + "Sensor_optisch_Traverse_Korrektur":0, + #"Sensor_induktiv_Spulenalter_Zug_positionierung":0, + #"Bedientableau_2fach":0, + #"Interface_Doffer":0, + #"Weiche":0, + "Weiche_Korrektur":0, + #"Weiche_nach_Flyer_bipolar":0, + "Dreifachweiche":0, + #"Wechsel":0, + "Wechsel_Korrektur":0, + #"RA_bi_ohne_SPS-Ansteuerung":0, + #"RA_bi_abhebbar":0, + "RA_bi_abhebbar_Korrektur":0, + "RA_bi":4, + #"Doppelstreckenantrieb":0, + "RA_bi_abhebbar_unger_Schiene":0, + #"Meldelampe_Überstrom":0, + "Meldelampe_Überstrom_Korrektur":0, + #"Hauptschalter_Ein_Meldung":0, + "Hauptschalter_Ein-Meldung_Korrektur":0, + #"Werma_Rundumleuchte_Störung":0, + "Werma_Rundumleuchte_Störung_Korrektur":0, + } + verbindungsstrecken_w_eingabe = { + #auskommentiert => kein Übergabeparameter, wird in Klasse berechnet + #"Sensor_optisch_Traverse":0, + "Bedientableau_1fach":0, + "Bedientableau_2fach":0, + "Bedientableau_14fach":0, + "Weiche":0, + "Dreifachweiche":0, + "Kreuzungsweiche":1, + "Werma_Rundumleuchte_Störung":0, + "RA_uni":0, + "RA_uni_ohne_SPS_Ansteuerung":0, + "RA_bi":0, + "RA_bi_ohne_SPS-Ansteuerung":0, + "Doppelstreckenantrieb":0 + } + puffer_eingabe = { + # auskommentiert => kein Übergabeparameter, wird in Klasse berechnet + # "Anzahl":0, + # "Puffer":0, #äquivalent zu Anzahl + # "Anzahl_Pufferstrecken":0, #äquivalent zu Anzahl_Staustrecken + # "Anzahl_Staustrecken":0, + # "Sensor_optisch_Traverse":0, + "Sensor_optisch_Traverse_Korrektur": 1, + # "Weiche":0, + "Weiche_Korrektur": 0, + "RA_bi_ungerade_Schiene": 2, + # "Doppelstreckenantrieb":0, + "Doppelstreckenantrieb_Korrektur":0, + # "Meldelampe_Überstrom":0, + "Meldelampe_Überstrom_Korrektur": 0, + # "Hauptschalter_Ein_Meldung":0, + "Hauptschalter_Ein-Meldung_Korrektur": 0, + } + turm_eingabe = { + #auskommentiert => kein Übergabeparameter, wird in Klasse berechnet + #"Anzahl":0, + #"Turm":0, #äquivalent zu Anzahl + #"Anzahl_Wendlungen":0, #äquivalent zu Anzahl_Staustrecken + #"Anzahl_Staustrecken":0, + #"Sensor_optisch_Traverse":0, + #"Weiche":0, + #"RA_bi":0, + "RA_bi_Korrektur":0, + #"RA_bi_ohne_SPS":0, + "RA_bi_ohne_SPS_Korrektur":0, + #"Bedientableau_2fach":0, + } + mg = rek.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) - # Anzahl_AL ={} - # al = rek.Anschlussl(Anzahl_AL, rek.MG) - # self.assertEqual(al._ANZAHL.get("Anzahl_Motor"), 48) - # self.assertAlmostEqual(al._ANZAHL.get("Summe_Strom_Motor"), 26.4) - # self.assertAlmostEqual(al._ANZAHL.get("Summe_Strom_Motor_SPS_Peripherie"), 29.4) - # self.assertAlmostEqual(al._ANZAHL.get("GZF"), 16.2) - # self.assertAlmostEqual(al._ANZAHL.get("Res"), 1.62) - # self.assertAlmostEqual(al._ANZAHL.get("Gesamtstrom"), 17.82) - # self.assertAlmostEqual(al._Anschlussspannung, 400) - # self.assertAlmostEqual(al._ANZAHL.get("Leistung"), 12.345696) - # self.assertAlmostEqual(al._ANZAHL.get("Gesamtanschlussleistung"), 13) + Anzahl_AL ={} + al = rek.Anschlussl(Anzahl_AL, mg) + self.assertEqual(al._ANZAHL.get("Anzahl_Motor"), 48) + self.assertAlmostEqual(al._ANZAHL.get("Summe_Strom_Motor"), 26.4) + self.assertAlmostEqual(al._ANZAHL.get("Summe_Strom_Motor_SPS_Peripherie"), 29.4) + self.assertAlmostEqual(al._ANZAHL.get("GZF"), 16.2) + self.assertAlmostEqual(al._ANZAHL.get("Res"), 1.62) + self.assertAlmostEqual(al._ANZAHL.get("Gesamtstrom"), 17.82) + self.assertAlmostEqual(al._Anschlussspannung, 400) + self.assertAlmostEqual(al._ANZAHL.get("Leistung"), 12.345696) + self.assertAlmostEqual(al._ANZAHL.get("Gesamtanschlussleistung"), 13) - # def test_ergebnis(self): - # Anzahl_MG = { - # "SYSTEM": "FA", - # "RSM":14, - # "Flyer":4, - # "Flyer_Puffer":2, - # "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":1, - # "Anzahl_der_Pufferstrecken_pro_Puffer":5, - # "Begegnungsstrecke_Bypass":2, - # "Turm":0, - # "Turm_Anzahl_Wendlungen":0, - # } + def test_ergebnis(self): + Anzahl_MG = { + "SYSTEM": "FA", + "RSM":14, + "Flyer":4, + "Flyer_Puffer":2, + "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":1, + "Anzahl_der_Pufferstrecken_pro_Puffer":5, + "Begegnungsstrecke_Bypass":2, + "Turm":0, + "Turm_Anzahl_Wendlungen":0, + } - # rsm_direct_eingabe = {} - # rsm_fa_eingabe = { - # "Flex_A_Premium":False, # braucht man das noch? - # "Getriebe_in_der_Mitte":False, # braucht man das noch? - # "RSM_Einfahrt_Ein_Beidseitig":False, # braucht man das noch? - # "Sensor_optisch_Traverse_zusätzlich":6, - # "Bedientableau_1fach_Korrektur":0, - # "Bedientableau_2fach_Korrektur":4, - # "Weiche_Korrektur":4, - # "RRA_bi_Korrektur":0, - # "RRA_bi_auf_Haupstrecke":10, - # "RRA_uni_Begegnung":4, - # "gemeinsame_Wendung":0, - # "Mit_Drucktaster_Korrektur":0, - # "Meldelampe_Überstrom_Korrektur":0, - # "Hauptschalter_Ein-Meldung_Korrektur":0, - # "Werma_Rundumleuchte_Störung_Korrektur":0, - # "klemmkasten_rsm":2, - # } - # flyer_f40_eingabe = { - # #auskommentiert => kein Übergabeparameter, wird in Klasse berechnet - # #"Anzahl":0, - # #"Flyer_Electrojet_incl_intergrierte_Putzmaschine":0, #wird in deckblatt-Klasse berechnet - # "Flyer_Electrojet_incl_intergrierte_Putzmaschine_Korrektur":0, - # #"Flyer_Electrojet_incl_intergrierte_Putzmaschine_Vorpuffer":2, #wird in deckblatt-Klasse berechnet - # #"Flyer_Electrojet_incl_intergrierte_Putzmaschine_Nachpuffer":2, #wird in deckblatt-Klasse berechnet - # #"Anzahl_Schienen":0, - # "Single_Line_Durchfahrt":False, - # "Nachpuffer":False, - # #"Sensor_optisch_Traverse":0, - # "Sensor_optisch_Traverse_Korrektur":0, - # #"Sensor_induktiv_Spulenhalter":0, - # "Sensor_induktiv_Spulenhalter_Korrektur":0, - # #"Bedientableau_2fach":0, - # "Bedientableau_2fach_Korrektur":0, - # #"Interface_Doffer":0, - # "Interface_Doffer_Korrektur":0, - # #"Weiche":0, - # "Weiche_Korrektur":0, - # #"Weiche_nach_Flyer_bipolar":0, - # "Weiche_nach_Flyer_bipolar_Korrektur":0, - # "Dreifachweiche":0, - # "Wechsel":0, - # "Stopper":0, - # "RA_uni":0, - # #"RA_uni_abhebbar":0, - # "RA_uni_abhebbar_Korrektur":0, - # #"RA_uni_ohne_SPS_Ansteuerung":0, - # "RA_uni_ohne_SPS_Ansteuerung_Korrektur":0, - # #"RRA_BI_abhebbar":0, - # "RRA_BI_abhebbar_Korrektur":0, - # "RRA_bi":0, - # #"RRA_bi_Korrektur":0, - # #"RRA_bi_ohne_SPS_Ansteuerung":0, - # "RRA_bi_ohne_SPS_Ansteuerung_Korrektur":0, - # #"Doppelstreckenantrieb":0, - # "Doppelstreckenantrieb_Korrektur":0, - # "RA_bi_abhebbar_unger_Schiene":0, - # #"Meldelampe_Überstrom":0, - # "Meldelampe_Überstrom_Korrektur":0, - # #"Hauptschalter_Ein_Meldung":0, - # "Hauptschalter_Ein-Meldung_Korrektur":0, - # #"Werma_Rundumleuchte_Störung":0, - # "Werma_Rundumleuchte_Störung_Korrektur":0, - # } - # neuenhauser_eingabe = { - # #auskommentiert => kein Übergabeparameter, wird in Klasse berechnet - # #"Anzahl":0, - # #"Neuenhauser-Putzmaschine":0, #wird in deckblatt-Klasse zugewiesen - # #"Neuenhauser-Putzmaschine_Vorpuffer":0, #wird in deckblatt-Klasse zugewiesen - # #"Neuenhauser-Putzmaschine_Nachpuffer":0, #wird in deckblatt-Klasse zugewiesen - # #"Anzahl_Vorstaustrecken":0, - # #"Anzahl_Nachstaustrecken":0, - # #"Sensor_optisch_Traverse":0, - # "Sensor_optisch_Traverse_Korrektur":0, - # #"Sensorik_Zugpositionierung":0, - # #"Sensor_WT18_Spulenprüfung_voll_leer":0, - # #"Bedientableau_2fach":0, - # "Bedientableau_2fach_Korrektur":0, - # #"Interface_Putzmaschine":0, - # #"Weiche":0, - # "Weiche_Korrektur":0, - # #"Weiche_nach_PM_bipolar":0, - # #"RA_uni_abhebbar":0, - # "RA_uni_abhebbar_Korrektur":0, - # #"RA_uni_ohne_SPS_Ansteuerung":0, - # #"RA_uni_abhebbar_unger_Sch":0, - # #"Doppelstreckenantrieb":0, - # #"Meldelampe_Überstrom":0, - # "Meldelampe_Überstrom_Korrektur":0, - # #"Hauptschalter_Ein_Meldung":0, - # "Hauptschalter_Ein-Meldung_Korrektur":0, - # #"Werma_Rundumleuchte_Störung":0, - # "Werma_Rundumleuchte_Störung_Korrektur":0, - # } - # flyer_eingabe = { - # #auskommentiert => kein Übergabeparameter, wird in Klasse berechnet - # #"Anzahl":0, - # #"Flyer":0, # äquivalent zu 'Anzahl' - # #"Anzahl_Schienen:":0, - # #"Sensor_optisch_Traverse":0, - # "Sensor_optisch_Traverse_Korrektur":0, - # #"Sensor_induktiv_Spulenalter_Zug_positionierung":0, - # #"Bedientableau_2fach":0, - # #"Interface_Doffer":0, - # #"Weiche":0, - # "Weiche_Korrektur":0, - # #"Weiche_nach_Flyer_bipolar":0, - # "Dreifachweiche":0, - # #"Wechsel":0, - # "Wechsel_Korrektur":0, - # #"RA_bi_ohne_SPS-Ansteuerung":0, - # #"RA_bi_abhebbar":0, - # "RA_bi_abhebbar_Korrektur":0, - # "RA_bi":4, - # #"Doppelstreckenantrieb":0, - # "RA_bi_abhebbar_unger_Schiene":0, - # #"Meldelampe_Überstrom":0, - # "Meldelampe_Überstrom_Korrektur":0, - # #"Hauptschalter_Ein_Meldung":0, - # "Hauptschalter_Ein-Meldung_Korrektur":0, - # #"Werma_Rundumleuchte_Störung":0, - # "Werma_Rundumleuchte_Störung_Korrektur":0, - # } - # verbindungsstrecken_w_eingabe = { - # #auskommentiert => kein Übergabeparameter, wird in Klasse berechnet - # #"Sensor_optisch_Traverse":0, - # "Bedientableau_1fach":0, - # "Bedientableau_2fach":0, - # "Bedientableau_14fach":0, - # "Weiche":0, - # "Dreifachweiche":0, - # "Kreuzungsweiche":1, - # "Werma_Rundumleuchte_Störung":0, - # "RA_uni":0, - # "RA_uni_ohne_SPS_Ansteuerung":0, - # "RA_bi":0, - # "RA_bi_ohne_SPS-Ansteuerung":0, - # "Doppelstreckenantrieb":0 - # } - # puffer_eingabe = { - # # auskommentiert => kein Übergabeparameter, wird in Klasse berechnet - # # "Anzahl":0, - # # "Puffer":0, #äquivalent zu Anzahl - # # "Anzahl_Pufferstrecken":0, #äquivalent zu Anzahl_Staustrecken - # # "Anzahl_Staustrecken":0, - # # "Sensor_optisch_Traverse":0, - # "Sensor_optisch_Traverse_Korrektur": 1, - # # "Weiche":0, - # "Weiche_Korrektur": 0, - # "RA_bi_ungerade_Schiene": 2, - # # "Doppelstreckenantrieb":0, - # "Doppelstreckenantrieb_Korrektur":0, - # # "Meldelampe_Überstrom":0, - # "Meldelampe_Überstrom_Korrektur": 0, - # # "Hauptschalter_Ein_Meldung":0, - # "Hauptschalter_Ein-Meldung_Korrektur": 0, - # } - # turm_eingabe = { - # #auskommentiert => kein Übergabeparameter, wird in Klasse berechnet - # #"Anzahl":0, - # #"Turm":0, #äquivalent zu Anzahl - # #"Anzahl_Wendlungen":0, #äquivalent zu Anzahl_Staustrecken - # #"Anzahl_Staustrecken":0, - # #"Sensor_optisch_Traverse":0, - # #"Weiche":0, - # #"RA_bi":0, - # "RA_bi_Korrektur":0, - # #"RA_bi_ohne_SPS":0, - # "RA_bi_ohne_SPS_Korrektur":0, - # #"Bedientableau_2fach":0, - # } - # MG = rek.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) - # Anzahl_EAS = { - # "schaltschrank":1 - # } - # eas = rek.EA(Anzahl_EAS, rek.MG) + rsm_direct_eingabe = {} + rsm_fa_eingabe = { + "Flex_A_Premium":False, # braucht man das noch? + "Getriebe_in_der_Mitte":False, # braucht man das noch? + "RSM_Einfahrt_Ein_Beidseitig":False, # braucht man das noch? + "Sensor_optisch_Traverse_zusätzlich":6, + "Bedientableau_1fach_Korrektur":0, + "Bedientableau_2fach_Korrektur":4, + "Weiche_Korrektur":4, + "RRA_bi_Korrektur":0, + "RRA_bi_auf_Haupstrecke":10, + "RRA_uni_Begegnung":4, + "gemeinsame_Wendung":0, + "Mit_Drucktaster_Korrektur":0, + "Meldelampe_Überstrom_Korrektur":0, + "Hauptschalter_Ein-Meldung_Korrektur":0, + "Werma_Rundumleuchte_Störung_Korrektur":0, + "klemmkasten_rsm":2, + } + flyer_f40_eingabe = { + #auskommentiert => kein Übergabeparameter, wird in Klasse berechnet + #"Anzahl":0, + #"Flyer_Electrojet_incl_intergrierte_Putzmaschine":0, #wird in deckblatt-Klasse berechnet + "Flyer_Electrojet_incl_intergrierte_Putzmaschine_Korrektur":0, + #"Flyer_Electrojet_incl_intergrierte_Putzmaschine_Vorpuffer":2, #wird in deckblatt-Klasse berechnet + #"Flyer_Electrojet_incl_intergrierte_Putzmaschine_Nachpuffer":2, #wird in deckblatt-Klasse berechnet + #"Anzahl_Schienen":0, + "Single_Line_Durchfahrt":False, + "Nachpuffer":False, + #"Sensor_optisch_Traverse":0, + "Sensor_optisch_Traverse_Korrektur":0, + #"Sensor_induktiv_Spulenhalter":0, + "Sensor_induktiv_Spulenhalter_Korrektur":0, + #"Bedientableau_2fach":0, + "Bedientableau_2fach_Korrektur":0, + #"Interface_Doffer":0, + "Interface_Doffer_Korrektur":0, + #"Weiche":0, + "Weiche_Korrektur":0, + #"Weiche_nach_Flyer_bipolar":0, + "Weiche_nach_Flyer_bipolar_Korrektur":0, + "Dreifachweiche":0, + "Wechsel":0, + "Stopper":0, + "RA_uni":0, + #"RA_uni_abhebbar":0, + "RA_uni_abhebbar_Korrektur":0, + #"RA_uni_ohne_SPS_Ansteuerung":0, + "RA_uni_ohne_SPS_Ansteuerung_Korrektur":0, + #"RRA_BI_abhebbar":0, + "RRA_BI_abhebbar_Korrektur":0, + "RRA_bi":0, + #"RRA_bi_Korrektur":0, + #"RRA_bi_ohne_SPS_Ansteuerung":0, + "RRA_bi_ohne_SPS_Ansteuerung_Korrektur":0, + #"Doppelstreckenantrieb":0, + "Doppelstreckenantrieb_Korrektur":0, + "RA_bi_abhebbar_unger_Schiene":0, + #"Meldelampe_Überstrom":0, + "Meldelampe_Überstrom_Korrektur":0, + #"Hauptschalter_Ein_Meldung":0, + "Hauptschalter_Ein-Meldung_Korrektur":0, + #"Werma_Rundumleuchte_Störung":0, + "Werma_Rundumleuchte_Störung_Korrektur":0, + } + neuenhauser_eingabe = { + #auskommentiert => kein Übergabeparameter, wird in Klasse berechnet + #"Anzahl":0, + #"Neuenhauser-Putzmaschine":0, #wird in deckblatt-Klasse zugewiesen + #"Neuenhauser-Putzmaschine_Vorpuffer":0, #wird in deckblatt-Klasse zugewiesen + #"Neuenhauser-Putzmaschine_Nachpuffer":0, #wird in deckblatt-Klasse zugewiesen + #"Anzahl_Vorstaustrecken":0, + #"Anzahl_Nachstaustrecken":0, + #"Sensor_optisch_Traverse":0, + "Sensor_optisch_Traverse_Korrektur":0, + #"Sensorik_Zugpositionierung":0, + #"Sensor_WT18_Spulenprüfung_voll_leer":0, + #"Bedientableau_2fach":0, + "Bedientableau_2fach_Korrektur":0, + #"Interface_Putzmaschine":0, + #"Weiche":0, + "Weiche_Korrektur":0, + #"Weiche_nach_PM_bipolar":0, + #"RA_uni_abhebbar":0, + "RA_uni_abhebbar_Korrektur":0, + #"RA_uni_ohne_SPS_Ansteuerung":0, + #"RA_uni_abhebbar_unger_Sch":0, + #"Doppelstreckenantrieb":0, + #"Meldelampe_Überstrom":0, + "Meldelampe_Überstrom_Korrektur":0, + #"Hauptschalter_Ein_Meldung":0, + "Hauptschalter_Ein-Meldung_Korrektur":0, + #"Werma_Rundumleuchte_Störung":0, + "Werma_Rundumleuchte_Störung_Korrektur":0, + } + flyer_eingabe = { + #auskommentiert => kein Übergabeparameter, wird in Klasse berechnet + #"Anzahl":0, + #"Flyer":0, # äquivalent zu 'Anzahl' + #"Anzahl_Schienen:":0, + #"Sensor_optisch_Traverse":0, + "Sensor_optisch_Traverse_Korrektur":0, + #"Sensor_induktiv_Spulenalter_Zug_positionierung":0, + #"Bedientableau_2fach":0, + #"Interface_Doffer":0, + #"Weiche":0, + "Weiche_Korrektur":0, + #"Weiche_nach_Flyer_bipolar":0, + "Dreifachweiche":0, + #"Wechsel":0, + "Wechsel_Korrektur":0, + #"RA_bi_ohne_SPS-Ansteuerung":0, + #"RA_bi_abhebbar":0, + "RA_bi_abhebbar_Korrektur":0, + "RA_bi":4, + #"Doppelstreckenantrieb":0, + "RA_bi_abhebbar_unger_Schiene":0, + #"Meldelampe_Überstrom":0, + "Meldelampe_Überstrom_Korrektur":0, + #"Hauptschalter_Ein_Meldung":0, + "Hauptschalter_Ein-Meldung_Korrektur":0, + #"Werma_Rundumleuchte_Störung":0, + "Werma_Rundumleuchte_Störung_Korrektur":0, + } + verbindungsstrecken_w_eingabe = { + #auskommentiert => kein Übergabeparameter, wird in Klasse berechnet + #"Sensor_optisch_Traverse":0, + "Bedientableau_1fach":0, + "Bedientableau_2fach":0, + "Bedientableau_14fach":0, + "Weiche":0, + "Dreifachweiche":0, + "Kreuzungsweiche":1, + "Werma_Rundumleuchte_Störung":0, + "RA_uni":0, + "RA_uni_ohne_SPS_Ansteuerung":0, + "RA_bi":0, + "RA_bi_ohne_SPS-Ansteuerung":0, + "Doppelstreckenantrieb":0 + } + puffer_eingabe = { + # auskommentiert => kein Übergabeparameter, wird in Klasse berechnet + # "Anzahl":0, + # "Puffer":0, #äquivalent zu Anzahl + # "Anzahl_Pufferstrecken":0, #äquivalent zu Anzahl_Staustrecken + # "Anzahl_Staustrecken":0, + # "Sensor_optisch_Traverse":0, + "Sensor_optisch_Traverse_Korrektur": 1, + # "Weiche":0, + "Weiche_Korrektur": 0, + "RA_bi_ungerade_Schiene": 2, + # "Doppelstreckenantrieb":0, + "Doppelstreckenantrieb_Korrektur":0, + # "Meldelampe_Überstrom":0, + "Meldelampe_Überstrom_Korrektur": 0, + # "Hauptschalter_Ein_Meldung":0, + "Hauptschalter_Ein-Meldung_Korrektur": 0, + } + turm_eingabe = { + #auskommentiert => kein Übergabeparameter, wird in Klasse berechnet + #"Anzahl":0, + #"Turm":0, #äquivalent zu Anzahl + #"Anzahl_Wendlungen":0, #äquivalent zu Anzahl_Staustrecken + #"Anzahl_Staustrecken":0, + #"Sensor_optisch_Traverse":0, + #"Weiche":0, + #"RA_bi":0, + "RA_bi_Korrektur":0, + #"RA_bi_ohne_SPS":0, + "RA_bi_ohne_SPS_Korrektur":0, + #"Bedientableau_2fach":0, + } + mg = rek.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) + Anzahl_EAS = { + "schaltschrank":1 + } + eas = rek.EA(Anzahl_EAS, mg) - # Anzahl_HW = { - # "schaltschrankgehaeuse_b1x1200+1x800_zubehoer": 1, - # "sps_simatic_s7_1515_2": 1, - # "et200_sp_ea_ebene":1, - # "netzwerk_fernwartung":1, - # "anlagenrechner":1, - # "unterverteiler_fuer_2flyer":2, - # "unterverteiler_fuer_puffer":1, + Anzahl_HW = { + "schaltschrankgehaeuse_b1x1200+1x800_zubehoer": 1, + "sps_simatic_s7_1515_2": 1, + "et200_sp_ea_ebene":1, + "netzwerk_fernwartung":1, + "anlagenrechner":1, + "unterverteiler_fuer_2flyer":2, + "unterverteiler_fuer_puffer":1, - # "korrektur_5_rsm_zusaetzlich_im_unterverteiler":-1, + "korrektur_5_rsm_zusaetzlich_im_unterverteiler":-1, - # "korrektur_10_rsm_zusaetzlich_im_unterverteiler":-2, + "korrektur_10_rsm_zusaetzlich_im_unterverteiler":-2, - # "ET200_SP":1, - # "et200_sp_base_unit_neue_last_mit_potKlemmen_or_et200_sp_base_unit_neue_last":"et200_sp_base_unit_neue_last_mit_potKlemmen", + "ET200_SP":1, + "et200_sp_base_unit_neue_last_mit_potKlemmen_or_et200_sp_base_unit_neue_last":"et200_sp_base_unit_neue_last_mit_potKlemmen", - # # MATERIAL VOR ORT - # "kabelpritschen_leitern_200_60":348, - # "kleinteile_rohre_schellen_kabelbinder_ect":1.5, - # "zuleitung_75_m_unterverteiler_12x4mm2_24_vdc_or_zuleitung_75_m_unterverteiler_12x2_5mm2_24_vdc":"zuleitung_75_m_unterverteiler_12x2_5mm2_24_vdc" - # } + # MATERIAL VOR ORT + "kabelpritschen_leitern_200_60":348, + "kleinteile_rohre_schellen_kabelbinder_ect":1.5, + "zuleitung_75_m_unterverteiler_12x4mm2_24_vdc_or_zuleitung_75_m_unterverteiler_12x2_5mm2_24_vdc":"zuleitung_75_m_unterverteiler_12x2_5mm2_24_vdc" + } - # HW = rek.HW(Anzahl_HW, rek.MG, eas) + hw = rek.HW(Anzahl_HW, mg, eas) - # EMO = rek.EMO(eas, rek.HW, rek.MG) - # Anzahl_DL = { - # "Bedienerhandbuch": 16, - # "SPS_Doku": 15, - # } - # dl = rek.Dienstleistung(Anzahl_DL, rek.HW) - # Anzahl_Ergebnis = { - # "SPS_Programmierung":150, - # "SPS_Inbetriebsetzung":130 - # } - # erg = rek.Ergebnis(Anzahl_Ergebnis, rek.HW, dl, rek.EMO) - # self.assertAlmostEqual(erg.get_cost_of("E_Werkstatt"), 6298.6666666666667) - # self.assertEqual(erg.get_cost_of("Schaltschrankbau_extern_Mehrkosten"), 0) - # self.assertEqual(erg.get_cost_of("Dienstleistung_in_LL"), 10129.5) - # self.assertEqual(erg.get_cost_of("Pflichtenheft"), 0) - # self.assertEqual(erg.get_cost_of("SPS_Programmierung"), 11250) - # self.assertEqual(erg.get_cost_of("PC_Programmierung_Visualisierung"), 3375) - # self.assertEqual(erg.get_cost_of("Montage_elektrisch"), 9543.6) - # self.assertAlmostEqual(erg.get_cost_of("Inbetriebnahmetest_Hardware_durch_Montage"), 954.36) - # self.assertEqual(erg.get_cost_of("SPS_Inbetriebsetzung"), 9750) - # self.assertEqual(erg.get_cost_of("PC_Inbetriebsetzung"), 0) - # self.assertEqual(erg.get_cost_of("Inbetriebnahmeunterstützung_durch_Montage"), 4680) - # self.assertEqual(erg.get_cost_of("Dokumentation"), 560) - # self.assertEqual(erg.get_cost_of("Bedienungsanleitung_Emmert"), 1125) - # self.assertEqual(erg.get_cost_of("Schulung_vor_Ort_beim_Kunden"), 0) - # self.assertEqual(erg.get_cost_of("Abnahme"), 0) - # self.assertEqual(erg.get_cost_of("SPS_Anlagenbetreuung"), 0) - # self.assertEqual(erg.get_cost_of("PC_Anlagenbetreuung"), 0) - # self.assertEqual(erg.get_cost_of("Anlagenbetreuung_durch_Montage"), 0) - # self.assertAlmostEqual(erg.summary_costs(rek.HW).get("GESAMT"), 105333.17) - # summary = erg.summary_costs(rek.HW) + emo = rek.EMO(eas, hw, mg) + Anzahl_DL = { + "Bedienerhandbuch": 16, + "SPS_Doku": 15, + } + dl = rek.Dienstleistung(Anzahl_DL, hw) + Anzahl_Ergebnis = { + "SPS_Programmierung":150, + "SPS_Inbetriebsetzung":130 + } + erg = rek.Ergebnis(Anzahl_Ergebnis, hw, dl, emo) + self.assertAlmostEqual(erg.get_cost_of("E_Werkstatt"), 6298.6666666666667) + self.assertEqual(erg.get_cost_of("Schaltschrankbau_extern_Mehrkosten"), 0) + self.assertEqual(erg.get_cost_of("Dienstleistung_in_LL"), 10129.5) + self.assertEqual(erg.get_cost_of("Pflichtenheft"), 0) + self.assertEqual(erg.get_cost_of("SPS_Programmierung"), 11250) + self.assertEqual(erg.get_cost_of("PC_Programmierung_Visualisierung"), 3375) + self.assertEqual(erg.get_cost_of("Montage_elektrisch"), 9543.6) + self.assertAlmostEqual(erg.get_cost_of("Inbetriebnahmetest_Hardware_durch_Montage"), 954.36) + self.assertEqual(erg.get_cost_of("SPS_Inbetriebsetzung"), 9750) + self.assertEqual(erg.get_cost_of("PC_Inbetriebsetzung"), 0) + self.assertEqual(erg.get_cost_of("Inbetriebnahmeunterstützung_durch_Montage"), 4680) + self.assertEqual(erg.get_cost_of("Dokumentation"), 560) + self.assertEqual(erg.get_cost_of("Bedienungsanleitung_Emmert"), 1125) + self.assertEqual(erg.get_cost_of("Schulung_vor_Ort_beim_Kunden"), 0) + self.assertEqual(erg.get_cost_of("Abnahme"), 0) + self.assertEqual(erg.get_cost_of("SPS_Anlagenbetreuung"), 0) + self.assertEqual(erg.get_cost_of("PC_Anlagenbetreuung"), 0) + self.assertEqual(erg.get_cost_of("Anlagenbetreuung_durch_Montage"), 0) + self.assertAlmostEqual(erg.summary_costs(hw).get("GESAMT"), 105333.17) + summary = erg.summary_costs(hw) - # df = pd.DataFrame.from_dict(data=summary, orient='index', columns=['Aufwand']) - # df.to_excel("output.xlsx", sheet_name="Kostenaufstellung") + df = pd.DataFrame.from_dict(data=summary, orient='index', columns=['Aufwand']) + df.to_excel("output.xlsx", sheet_name="Kostenaufstellung") def test_turm(self): Anzahl_MG = { @@ -1955,7 +1955,7 @@ class TestObjectMethods(unittest.TestCase): "Anzahl_der_Pufferstrecken_pro_Puffer":5, "Begegnungsstrecke_Bypass":2, "Turm":1, - "Turm_Anzahl_Wendlungen":2, + "Turm_Anzahl_Wendlungen":5, } rsm_direct_eingabe = {} @@ -2180,15 +2180,16 @@ class TestObjectMethods(unittest.TestCase): } erg = rek.Ergebnis(Anzahl_Ergebnis, hw, dl, emo) - self.assertEqual(mg.get_value_of_object("turm", "Anzahl_Staustrecken"), 2) + self.assertEqual(mg.get_value_of_object("turm", "Anzahl_Staustrecken"), 5) self.assertEqual(mg.get_value_of_object("turm", "Sensor_optisch_Traverse"), 5) self.assertEqual(mg.get_value_of_object("turm", "Weiche"), 3) self.assertEqual(mg.get_value_of_object("turm", "RA_bi"), 2) - self.assertEqual(mg.get_value_of_object("turm", "RA_bi_ohne_SPS"), 4) + self.assertEqual(mg.get_value_of_object("turm", "RA_bi_ohne_SPS"), 10) self.assertEqual(mg.get_value_of_object("turm", "Bedientableau_2fach"), 2) self.assertEqual(mg.zusammenfassung().get("Bedientableau_2fach"), 12) - self.assertEqual(hw.summe_vorort(), 21510.6) + self.assertEqual(hw.summe_vorort(), 21705.6) self.assertAlmostEqual(hw.summe_in_LL(), 27466.7) + self.assertAlmostEqual(erg.get_sum_of_costs(hw), 107610.946666666666667)