Compare commits

..

2 Commits

3 changed files with 5629 additions and 1052 deletions
+1272 -1052
View File
File diff suppressed because it is too large Load Diff
+332
View File
@@ -0,0 +1,332 @@
import rieter_ekalk as rek
import unittest
class TestObjectMethods(unittest.TestCase):
def test_A_JayJay(self):
# Anzahl der für das Projekt benutzten
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)
# check data of Mengengerüst
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(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(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(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 = mg.zusammenfassung()
#self.assertEqual(zf['Gesamtanzahl_Antriebe'], 44)
self.assertEqual(zf['Sensor_optisch_Traverse'], 68)
self.assertEqual(zf['Sensor_induktiv_Spulenalter_Zug_positionierung'], 4)
self.assertEqual(zf['Sensor_Spulenprüfung_voll_leer'], 0)
self.assertEqual(zf['Seilzugsschalter'], 0)
self.assertEqual(zf['Drucktaster_automatische_Umfahrung'], 0)
self.assertEqual(zf['Bedientableau_1fach'], 14)
self.assertEqual(zf['Bedientableau_2fach'], 10)
self.assertEqual(zf['Bedientableau_14fach'], 0)
self.assertEqual(zf['Interface_Putzmaschine'], 0)
self.assertEqual(zf['Interface_Doffer'], 4)
self.assertEqual(zf['Weiche'], 35)
self.assertEqual(zf['Dreifachweiche'], 0)
self.assertEqual(zf['Wechsel'], 4)
self.assertEqual(zf['Stopper'], 0)
self.assertEqual(zf['Meldelampe_Überstrom'], 7)
self.assertEqual(zf['Hauptschalter_Ein_Meldung'], 7)
self.assertEqual(zf['Werma_Rundumleuchte_Störung'], 6)
self.assertEqual(zf['Weiche_nach_PM_bipolar'], 0)
self.assertEqual(zf['Kreuzungsweiche'], 1)
self.assertEqual(zf['RA_uni'], 4)
self.assertEqual(zf['RA_uni_abhebbar'], 0)
self.assertEqual(zf['RA_uni_ohne_SPS_Ansteuerung'], 0)
self.assertEqual(zf['RA_bi'], 30)
self.assertEqual(zf['RA_bi_ohne_SPS-Ansteuerung'], 4)
self.assertEqual(zf['RA_bi_abhebbar'], 4)
self.assertEqual(zf['Doppelstreckenantrieb'], 6)
self.assertEqual(zf['gemeinsame_Wendung'], 0)
self.assertEqual(zf['klemmkasten_rsm'], 2)
def test_Unittests():
unittest.main()
if __name__ == '__main__':
test_Unittests()
+4025
View File
File diff suppressed because it is too large Load Diff