Skip to content
Success

Console Output

Skipping 305 KB.. Full Log
  Background:                                                                              # features/Wochenplanung.feature:3
    And folgende Liste von Fähigkeiten:                                                    # RollenbelegungStepDefs.folgendeListeVonFaehigkeiten(FaehigkeitDAO>)
    And folgende Liste von MaschinenTypen:                                                 # RollenbelegungStepDefs.folgendeListeVonMaschinenTypen(MaschinenTypTestDAO>)
    And folgende Liste von Maschinen:                                                      # RollenbelegungStepDefs.folgendeListeVonMaschinen(MaschineDAO>)
    And die Schichtzeiten der Firma sehen wie folgt aus:                                   # WochenplanungStepDefs.dieSchichtzeitenDerFirmaSehenWieFolgtAus(DataTable)
    And der Eingangszeitpunkt sämtlicher Dokumentenklassen ist der 18.03.2018 um 22:30 Uhr # WochenplanungStepDefs.der_Eingangszeitpunkt_saemtlicher_Dokumentenklassen_ist_der_um_Uhr(int,int,int,int,int)

  Scenario: Es gibt nur tatsächliche Kundenaufträge in dem gegebenen Zeitraum, aus denen eine Planung erstellt wird.                                         # features/Wochenplanung.feature:43
    Given folgende Kundenaufträge:                                                                                                                           # ProduktionsauftragStepDefs.folgendeKundenauftraege(String,String>>)
    When die Planung für den Zeitraum 19.03.2018 - 19.03.2018 mit der Planungsstrategie "standardstrategie" mit einem Produktionssatz von 100% erstellt wird # WochenplanungStepDefs.diePlanungFuerDenZeitraumMitDerPlanungsstrategieMitEinemProduktionssatzErstelltWird(int,int,int,int,int,int,String,int)
    Then gibt es folgende Schichten:                                                                                                                         # WochenplanungStepDefs.gibtEsFolgendeSchichten(SchichtTestDAO>)
    And folgende Maschinentypen werden im BestCase, AverageCase und WorstCase erwartet:                                                                      # WochenplanungStepDefs.folgendeMaschinentypenWerdenImSzenarioErwartet(String,MaschinenTypZuordnungTestDAO>)
    And Es bleiben keine Aufträge im BestCase, AverageCase und WorstCase übrig.                                                                              # WochenplanungStepDefs.esBleibenKeineAuftraegeImSzenarioUebrig(String)

  Background:                                                                              # features/Wochenplanung.feature:3
    And folgende Liste von Fähigkeiten:                                                    # RollenbelegungStepDefs.folgendeListeVonFaehigkeiten(FaehigkeitDAO>)
    And folgende Liste von MaschinenTypen:                                                 # RollenbelegungStepDefs.folgendeListeVonMaschinenTypen(MaschinenTypTestDAO>)
    And folgende Liste von Maschinen:                                                      # RollenbelegungStepDefs.folgendeListeVonMaschinen(MaschineDAO>)
    And die Schichtzeiten der Firma sehen wie folgt aus:                                   # WochenplanungStepDefs.dieSchichtzeitenDerFirmaSehenWieFolgtAus(DataTable)
    And der Eingangszeitpunkt sämtlicher Dokumentenklassen ist der 18.03.2018 um 22:30 Uhr # WochenplanungStepDefs.der_Eingangszeitpunkt_saemtlicher_Dokumentenklassen_ist_der_um_Uhr(int,int,int,int,int)

  Scenario: Es gibt nur tatsächliche Kundenaufträge, da mehrere Maschinen in Frage kommen wird so geplant, dass die jeweils effektivste Maschine genutzt wird. # features/Wochenplanung.feature:61
    Given folgende Kundenaufträge:                                                                                                                             # ProduktionsauftragStepDefs.folgendeKundenauftraege(String,String>>)
    When die Planung für den Zeitraum 19.03.2018 - 19.03.2018 mit der Planungsstrategie "standardstrategie" mit einem Produktionssatz von 100% erstellt wird   # WochenplanungStepDefs.diePlanungFuerDenZeitraumMitDerPlanungsstrategieMitEinemProduktionssatzErstelltWird(int,int,int,int,int,int,String,int)
    Then gibt es folgende Schichten:                                                                                                                           # WochenplanungStepDefs.gibtEsFolgendeSchichten(SchichtTestDAO>)
    And folgende Maschinentypen werden im BestCase, AverageCase und WorstCase erwartet:                                                                        # WochenplanungStepDefs.folgendeMaschinentypenWerdenImSzenarioErwartet(String,MaschinenTypZuordnungTestDAO>)
    And Es bleiben keine Aufträge im BestCase, AverageCase und WorstCase übrig.                                                                                # WochenplanungStepDefs.esBleibenKeineAuftraegeImSzenarioUebrig(String)

  Background:                                                                              # features/Wochenplanung.feature:3
    And folgende Liste von Fähigkeiten:                                                    # RollenbelegungStepDefs.folgendeListeVonFaehigkeiten(FaehigkeitDAO>)
    And folgende Liste von MaschinenTypen:                                                 # RollenbelegungStepDefs.folgendeListeVonMaschinenTypen(MaschinenTypTestDAO>)
    And folgende Liste von Maschinen:                                                      # RollenbelegungStepDefs.folgendeListeVonMaschinen(MaschineDAO>)
    And die Schichtzeiten der Firma sehen wie folgt aus:                                   # WochenplanungStepDefs.dieSchichtzeitenDerFirmaSehenWieFolgtAus(DataTable)
    And der Eingangszeitpunkt sämtlicher Dokumentenklassen ist der 18.03.2018 um 22:30 Uhr # WochenplanungStepDefs.der_Eingangszeitpunkt_saemtlicher_Dokumentenklassen_ist_der_um_Uhr(int,int,int,int,int)

  Scenario: Es gibt nur tatsächliche Kundenaufträge in dem gegebenen Zeitraum, aus denen eine Planung erstellt wird. (b)                                     # features/Wochenplanung.feature:79
  Wobei am Ende die Schicht nicht voll genutzt wird, da keine Produktionsaufträge mehr vorhanden sind.
    Given folgende Kundenaufträge:                                                                                                                           # ProduktionsauftragStepDefs.folgendeKundenauftraege(String,String>>)
    When die Planung für den Zeitraum 19.03.2018 - 19.03.2018 mit der Planungsstrategie "standardstrategie" mit einem Produktionssatz von 100% erstellt wird # WochenplanungStepDefs.diePlanungFuerDenZeitraumMitDerPlanungsstrategieMitEinemProduktionssatzErstelltWird(int,int,int,int,int,int,String,int)
    Then gibt es folgende Schichten:                                                                                                                         # WochenplanungStepDefs.gibtEsFolgendeSchichten(SchichtTestDAO>)
    And folgende Maschinentypen werden im BestCase, AverageCase und WorstCase erwartet:                                                                      # WochenplanungStepDefs.folgendeMaschinentypenWerdenImSzenarioErwartet(String,MaschinenTypZuordnungTestDAO>)
    And Es bleiben keine Aufträge im BestCase, AverageCase und WorstCase übrig.                                                                              # WochenplanungStepDefs.esBleibenKeineAuftraegeImSzenarioUebrig(String)

  Background:                                                                              # features/Wochenplanung.feature:3
    And folgende Liste von Fähigkeiten:                                                    # RollenbelegungStepDefs.folgendeListeVonFaehigkeiten(FaehigkeitDAO>)
    And folgende Liste von MaschinenTypen:                                                 # RollenbelegungStepDefs.folgendeListeVonMaschinenTypen(MaschinenTypTestDAO>)
    And folgende Liste von Maschinen:                                                      # RollenbelegungStepDefs.folgendeListeVonMaschinen(MaschineDAO>)
    And die Schichtzeiten der Firma sehen wie folgt aus:                                   # WochenplanungStepDefs.dieSchichtzeitenDerFirmaSehenWieFolgtAus(DataTable)
    And der Eingangszeitpunkt sämtlicher Dokumentenklassen ist der 18.03.2018 um 22:30 Uhr # WochenplanungStepDefs.der_Eingangszeitpunkt_saemtlicher_Dokumentenklassen_ist_der_um_Uhr(int,int,int,int,int)

  Scenario: Es gibt nur tatsächliche Kundenaufträge in dem gegebenen Zeitraum, aus denen eine Planung erstellt wird, allerdings mit einem verringertem Produktionssatz von 80%. # features/Wochenplanung.feature:96
    Given folgende Kundenaufträge:                                                                                                                                              # ProduktionsauftragStepDefs.folgendeKundenauftraege(String,String>>)
    When die Planung für den Zeitraum 19.03.2018 - 19.03.2018 mit der Planungsstrategie "standardstrategie" mit einem Produktionssatz von 80% erstellt wird                     # WochenplanungStepDefs.diePlanungFuerDenZeitraumMitDerPlanungsstrategieMitEinemProduktionssatzErstelltWird(int,int,int,int,int,int,String,int)
    Then gibt es folgende Schichten:                                                                                                                                            # WochenplanungStepDefs.gibtEsFolgendeSchichten(SchichtTestDAO>)
    And folgende Maschinentypen werden im BestCase, AverageCase und WorstCase erwartet:                                                                                         # WochenplanungStepDefs.folgendeMaschinentypenWerdenImSzenarioErwartet(String,MaschinenTypZuordnungTestDAO>)
    And Es bleiben keine Aufträge im BestCase, AverageCase und WorstCase übrig.                                                                                                 # WochenplanungStepDefs.esBleibenKeineAuftraegeImSzenarioUebrig(String)

  Background:                                                                              # features/Wochenplanung.feature:3
    And folgende Liste von Fähigkeiten:                                                    # RollenbelegungStepDefs.folgendeListeVonFaehigkeiten(FaehigkeitDAO>)
    And folgende Liste von MaschinenTypen:                                                 # RollenbelegungStepDefs.folgendeListeVonMaschinenTypen(MaschinenTypTestDAO>)
    And folgende Liste von Maschinen:                                                      # RollenbelegungStepDefs.folgendeListeVonMaschinen(MaschineDAO>)
    And die Schichtzeiten der Firma sehen wie folgt aus:                                   # WochenplanungStepDefs.dieSchichtzeitenDerFirmaSehenWieFolgtAus(DataTable)
    And der Eingangszeitpunkt sämtlicher Dokumentenklassen ist der 18.03.2018 um 22:30 Uhr # WochenplanungStepDefs.der_Eingangszeitpunkt_saemtlicher_Dokumentenklassen_ist_der_um_Uhr(int,int,int,int,int)

  Scenario: es gibt 2 Maschinen vom selben Maschinentypen, die so wenig belegt werden, dass alles in einer schicht auf eine Maschine passt                   # features/Wochenplanung.feature:118
    Given alle Maschinen, Maschinentypen und Fähigkeiten sind resettet, sodass nichts von ihnen aus dem Background gilt.                                     # RollenbelegungStepDefs.alleMaschinenMaschinentypenUndFaehigkeitenSindResettetSodassNichtsVonIhnenAusDemBackgroundGilt()
    And folgende Liste von Fähigkeiten:                                                                                                                      # RollenbelegungStepDefs.folgendeListeVonFaehigkeiten(FaehigkeitDAO>)
    And folgende Liste von MaschinenTypen:                                                                                                                   # RollenbelegungStepDefs.folgendeListeVonMaschinenTypen(MaschinenTypTestDAO>)
    And folgende Liste von Maschinen:                                                                                                                        # RollenbelegungStepDefs.folgendeListeVonMaschinen(MaschineDAO>)
    And folgende Kundenaufträge:                                                                                                                             # ProduktionsauftragStepDefs.folgendeKundenauftraege(String,String>>)
    When die Planung für den Zeitraum 19.03.2018 - 19.03.2018 mit der Planungsstrategie "standardstrategie" mit einem Produktionssatz von 100% erstellt wird # WochenplanungStepDefs.diePlanungFuerDenZeitraumMitDerPlanungsstrategieMitEinemProduktionssatzErstelltWird(int,int,int,int,int,int,String,int)
    Then gibt es folgende Schichten:                                                                                                                         # WochenplanungStepDefs.gibtEsFolgendeSchichten(SchichtTestDAO>)
    And Es bleiben keine Aufträge im BestCase, AverageCase und WorstCase übrig.                                                                              # WochenplanungStepDefs.esBleibenKeineAuftraegeImSzenarioUebrig(String)
    And folgende Maschinentypen werden im BestCase, AverageCase und WorstCase erwartet:                                                                      # WochenplanungStepDefs.folgendeMaschinentypenWerdenImSzenarioErwartet(String,MaschinenTypZuordnungTestDAO>)

  Background:                                                                              # features/Wochenplanung.feature:3
    And folgende Liste von Fähigkeiten:                                                    # RollenbelegungStepDefs.folgendeListeVonFaehigkeiten(FaehigkeitDAO>)
    And folgende Liste von MaschinenTypen:                                                 # RollenbelegungStepDefs.folgendeListeVonMaschinenTypen(MaschinenTypTestDAO>)
    And folgende Liste von Maschinen:                                                      # RollenbelegungStepDefs.folgendeListeVonMaschinen(MaschineDAO>)
    And die Schichtzeiten der Firma sehen wie folgt aus:                                   # WochenplanungStepDefs.dieSchichtzeitenDerFirmaSehenWieFolgtAus(DataTable)
    And der Eingangszeitpunkt sämtlicher Dokumentenklassen ist der 18.03.2018 um 22:30 Uhr # WochenplanungStepDefs.der_Eingangszeitpunkt_saemtlicher_Dokumentenklassen_ist_der_um_Uhr(int,int,int,int,int)

  Scenario: es gibt 2 Maschinen vom selben Maschinentypen, die so sehr belegt werden, dass in einer Schicht auf eine zweite Maschine ausgewichen werden muss # features/Wochenplanung.feature:146
    Given alle Maschinen, Maschinentypen und Fähigkeiten sind resettet, sodass nichts von ihnen aus dem Background gilt.                                     # RollenbelegungStepDefs.alleMaschinenMaschinentypenUndFaehigkeitenSindResettetSodassNichtsVonIhnenAusDemBackgroundGilt()
    And folgende Liste von Fähigkeiten:                                                                                                                      # RollenbelegungStepDefs.folgendeListeVonFaehigkeiten(FaehigkeitDAO>)
    And folgende Liste von MaschinenTypen:                                                                                                                   # RollenbelegungStepDefs.folgendeListeVonMaschinenTypen(MaschinenTypTestDAO>)
    And folgende Liste von Maschinen:                                                                                                                        # RollenbelegungStepDefs.folgendeListeVonMaschinen(MaschineDAO>)
    And folgende Kundenaufträge:                                                                                                                             # ProduktionsauftragStepDefs.folgendeKundenauftraege(String,String>>)
    When die Planung für den Zeitraum 19.03.2018 - 19.03.2018 mit der Planungsstrategie "standardstrategie" mit einem Produktionssatz von 100% erstellt wird # WochenplanungStepDefs.diePlanungFuerDenZeitraumMitDerPlanungsstrategieMitEinemProduktionssatzErstelltWird(int,int,int,int,int,int,String,int)
    Then gibt es folgende Schichten:                                                                                                                         # WochenplanungStepDefs.gibtEsFolgendeSchichten(SchichtTestDAO>)
    And folgende Maschinentypen werden im BestCase, AverageCase und WorstCase erwartet:                                                                      # WochenplanungStepDefs.folgendeMaschinentypenWerdenImSzenarioErwartet(String,MaschinenTypZuordnungTestDAO>)
    And Es bleiben keine Aufträge im BestCase, AverageCase und WorstCase übrig.                                                                              # WochenplanungStepDefs.esBleibenKeineAuftraegeImSzenarioUebrig(String)

  Background:                                                                              # features/Wochenplanung.feature:3
    And folgende Liste von Fähigkeiten:                                                    # RollenbelegungStepDefs.folgendeListeVonFaehigkeiten(FaehigkeitDAO>)
    And folgende Liste von MaschinenTypen:                                                 # RollenbelegungStepDefs.folgendeListeVonMaschinenTypen(MaschinenTypTestDAO>)
    And folgende Liste von Maschinen:                                                      # RollenbelegungStepDefs.folgendeListeVonMaschinen(MaschineDAO>)
    And die Schichtzeiten der Firma sehen wie folgt aus:                                   # WochenplanungStepDefs.dieSchichtzeitenDerFirmaSehenWieFolgtAus(DataTable)
    And der Eingangszeitpunkt sämtlicher Dokumentenklassen ist der 18.03.2018 um 22:30 Uhr # WochenplanungStepDefs.der_Eingangszeitpunkt_saemtlicher_Dokumentenklassen_ist_der_um_Uhr(int,int,int,int,int)

  Scenario: es gibt 2 Maschinen vom selben Maschinentypen, die so sehr belegt werden, dass in einer Schicht auf eine zweite Maschine ausgewichen werden muss (2) # features/Wochenplanung.feature:175
    Given alle Maschinen, Maschinentypen und Fähigkeiten sind resettet, sodass nichts von ihnen aus dem Background gilt.                                         # RollenbelegungStepDefs.alleMaschinenMaschinentypenUndFaehigkeitenSindResettetSodassNichtsVonIhnenAusDemBackgroundGilt()
    And folgende Liste von Fähigkeiten:                                                                                                                          # RollenbelegungStepDefs.folgendeListeVonFaehigkeiten(FaehigkeitDAO>)
    And folgende Liste von MaschinenTypen:                                                                                                                       # RollenbelegungStepDefs.folgendeListeVonMaschinenTypen(MaschinenTypTestDAO>)
    And folgende Liste von Maschinen:                                                                                                                            # RollenbelegungStepDefs.folgendeListeVonMaschinen(MaschineDAO>)
    And folgende Kundenaufträge:                                                                                                                                 # ProduktionsauftragStepDefs.folgendeKundenauftraege(String,String>>)
    When die Planung für den Zeitraum 19.03.2018 - 19.03.2018 mit der Planungsstrategie "standardstrategie" mit einem Produktionssatz von 100% erstellt wird     # WochenplanungStepDefs.diePlanungFuerDenZeitraumMitDerPlanungsstrategieMitEinemProduktionssatzErstelltWird(int,int,int,int,int,int,String,int)
    Then gibt es folgende Schichten:                                                                                                                             # WochenplanungStepDefs.gibtEsFolgendeSchichten(SchichtTestDAO>)
    And folgende Maschinentypen werden im BestCase, AverageCase und WorstCase erwartet:                                                                          # WochenplanungStepDefs.folgendeMaschinentypenWerdenImSzenarioErwartet(String,MaschinenTypZuordnungTestDAO>)
    And Es bleiben keine Aufträge im BestCase, AverageCase und WorstCase übrig.                                                                                  # WochenplanungStepDefs.esBleibenKeineAuftraegeImSzenarioUebrig(String)

  Background:                                                                              # features/Wochenplanung.feature:3
    And folgende Liste von Fähigkeiten:                                                    # RollenbelegungStepDefs.folgendeListeVonFaehigkeiten(FaehigkeitDAO>)
    And folgende Liste von MaschinenTypen:                                                 # RollenbelegungStepDefs.folgendeListeVonMaschinenTypen(MaschinenTypTestDAO>)
    And folgende Liste von Maschinen:                                                      # RollenbelegungStepDefs.folgendeListeVonMaschinen(MaschineDAO>)
    And die Schichtzeiten der Firma sehen wie folgt aus:                                   # WochenplanungStepDefs.dieSchichtzeitenDerFirmaSehenWieFolgtAus(DataTable)
    And der Eingangszeitpunkt sämtlicher Dokumentenklassen ist der 18.03.2018 um 22:30 Uhr # WochenplanungStepDefs.der_Eingangszeitpunkt_saemtlicher_Dokumentenklassen_ist_der_um_Uhr(int,int,int,int,int)

  Scenario: es gibt 2 Maschinen vom selben Maschinentypen, die so sehr belegt werden, dass in einer Schicht auf eine zweite Maschine ausgewichen werden muss und sogar noch etwas in die nächste Schicht fällt # features/Wochenplanung.feature:205
    Given alle Maschinen, Maschinentypen und Fähigkeiten sind resettet, sodass nichts von ihnen aus dem Background gilt.                                                                                       # RollenbelegungStepDefs.alleMaschinenMaschinentypenUndFaehigkeitenSindResettetSodassNichtsVonIhnenAusDemBackgroundGilt()
    And folgende Liste von Fähigkeiten:                                                                                                                                                                        # RollenbelegungStepDefs.folgendeListeVonFaehigkeiten(FaehigkeitDAO>)
    And folgende Liste von MaschinenTypen:                                                                                                                                                                     # RollenbelegungStepDefs.folgendeListeVonMaschinenTypen(MaschinenTypTestDAO>)
    And folgende Liste von Maschinen:                                                                                                                                                                          # RollenbelegungStepDefs.folgendeListeVonMaschinen(MaschineDAO>)
    And folgende Kundenaufträge:                                                                                                                                                                               # ProduktionsauftragStepDefs.folgendeKundenauftraege(String,String>>)
    When die Planung für den Zeitraum 19.03.2018 - 19.03.2018 mit der Planungsstrategie "standardstrategie" mit einem Produktionssatz von 100% erstellt wird                                                   # WochenplanungStepDefs.diePlanungFuerDenZeitraumMitDerPlanungsstrategieMitEinemProduktionssatzErstelltWird(int,int,int,int,int,int,String,int)
    Then gibt es folgende Schichten:                                                                                                                                                                           # WochenplanungStepDefs.gibtEsFolgendeSchichten(SchichtTestDAO>)
    And folgende Maschinentypen werden im BestCase, AverageCase und WorstCase erwartet:                                                                                                                        # WochenplanungStepDefs.folgendeMaschinentypenWerdenImSzenarioErwartet(String,MaschinenTypZuordnungTestDAO>)
    And Es bleiben keine Aufträge im BestCase, AverageCase und WorstCase übrig.                                                                                                                                # WochenplanungStepDefs.esBleibenKeineAuftraegeImSzenarioUebrig(String)

  Background:                                                                              # features/Wochenplanung.feature:3
    And folgende Liste von Fähigkeiten:                                                    # RollenbelegungStepDefs.folgendeListeVonFaehigkeiten(FaehigkeitDAO>)
    And folgende Liste von MaschinenTypen:                                                 # RollenbelegungStepDefs.folgendeListeVonMaschinenTypen(MaschinenTypTestDAO>)
    And folgende Liste von Maschinen:                                                      # RollenbelegungStepDefs.folgendeListeVonMaschinen(MaschineDAO>)
    And die Schichtzeiten der Firma sehen wie folgt aus:                                   # WochenplanungStepDefs.dieSchichtzeitenDerFirmaSehenWieFolgtAus(DataTable)
    And der Eingangszeitpunkt sämtlicher Dokumentenklassen ist der 18.03.2018 um 22:30 Uhr # WochenplanungStepDefs.der_Eingangszeitpunkt_saemtlicher_Dokumentenklassen_ist_der_um_Uhr(int,int,int,int,int)

  Scenario: es gibt eine Maschine, die gegebene Dokumentenklasse nicht verarbeiten kann                                                                      # features/Wochenplanung.feature:235
    Given alle Maschinen, Maschinentypen und Fähigkeiten sind resettet, sodass nichts von ihnen aus dem Background gilt.                                     # RollenbelegungStepDefs.alleMaschinenMaschinentypenUndFaehigkeitenSindResettetSodassNichtsVonIhnenAusDemBackgroundGilt()
    And folgende Liste von Fähigkeiten:                                                                                                                      # RollenbelegungStepDefs.folgendeListeVonFaehigkeiten(FaehigkeitDAO>)
    And folgende Liste von MaschinenTypen:                                                                                                                   # RollenbelegungStepDefs.folgendeListeVonMaschinenTypen(MaschinenTypTestDAO>)
    And folgende Liste von Maschinen:                                                                                                                        # RollenbelegungStepDefs.folgendeListeVonMaschinen(MaschineDAO>)
    And folgende Kundenaufträge:                                                                                                                             # ProduktionsauftragStepDefs.folgendeKundenauftraege(String,String>>)
    When die Planung für den Zeitraum 19.03.2018 - 19.03.2018 mit der Planungsstrategie "standardstrategie" mit einem Produktionssatz von 100% erstellt wird # WochenplanungStepDefs.diePlanungFuerDenZeitraumMitDerPlanungsstrategieMitEinemProduktionssatzErstelltWird(int,int,int,int,int,int,String,int)
    Then gibt es folgende Schichten:                                                                                                                         # WochenplanungStepDefs.gibtEsFolgendeSchichten(SchichtTestDAO>)
    And folgende Maschinentypen werden im BestCase, AverageCase und WorstCase erwartet:                                                                      # WochenplanungStepDefs.folgendeMaschinentypenWerdenImSzenarioErwartet(String,MaschinenTypZuordnungTestDAO>)
    And es bleiben folgende Aufträge im BestCase, AverageCase und WorstCase übrig:                                                                           # WochenplanungStepDefs.esBleibenFolgendeAuftraegeImSzenarioUebrig(String,UebrigeAuftraegeTestDAO>)

  Background:                                                                              # features/Wochenplanung.feature:3
    And folgende Liste von Fähigkeiten:                                                    # RollenbelegungStepDefs.folgendeListeVonFaehigkeiten(FaehigkeitDAO>)
    And folgende Liste von MaschinenTypen:                                                 # RollenbelegungStepDefs.folgendeListeVonMaschinenTypen(MaschinenTypTestDAO>)
    And folgende Liste von Maschinen:                                                      # RollenbelegungStepDefs.folgendeListeVonMaschinen(MaschineDAO>)
    And die Schichtzeiten der Firma sehen wie folgt aus:                                   # WochenplanungStepDefs.dieSchichtzeitenDerFirmaSehenWieFolgtAus(DataTable)
    And der Eingangszeitpunkt sämtlicher Dokumentenklassen ist der 18.03.2018 um 22:30 Uhr # WochenplanungStepDefs.der_Eingangszeitpunkt_saemtlicher_Dokumentenklassen_ist_der_um_Uhr(int,int,int,int,int)

  Scenario: es gibt zwei Maschinen mit verschiedenen Maschinentypen, die jedoch bis auf die Geschwindigkeit gleich sind. Also wird zunächst die schnellere genommen und dann auf die langsamere ausgewichen. # features/Wochenplanung.feature:262
    Given alle Maschinen, Maschinentypen und Fähigkeiten sind resettet, sodass nichts von ihnen aus dem Background gilt.                                                                                     # RollenbelegungStepDefs.alleMaschinenMaschinentypenUndFaehigkeitenSindResettetSodassNichtsVonIhnenAusDemBackgroundGilt()
    And folgende Liste von Fähigkeiten:                                                                                                                                                                      # RollenbelegungStepDefs.folgendeListeVonFaehigkeiten(FaehigkeitDAO>)
    And folgende Liste von MaschinenTypen:                                                                                                                                                                   # RollenbelegungStepDefs.folgendeListeVonMaschinenTypen(MaschinenTypTestDAO>)
    And folgende Liste von Maschinen:                                                                                                                                                                        # RollenbelegungStepDefs.folgendeListeVonMaschinen(MaschineDAO>)
    And folgende Kundenaufträge:                                                                                                                                                                             # ProduktionsauftragStepDefs.folgendeKundenauftraege(String,String>>)
    When die Planung für den Zeitraum 19.03.2018 - 19.03.2018 mit der Planungsstrategie "standardstrategie" mit einem Produktionssatz von 100% erstellt wird                                                 # WochenplanungStepDefs.diePlanungFuerDenZeitraumMitDerPlanungsstrategieMitEinemProduktionssatzErstelltWird(int,int,int,int,int,int,String,int)
    Then gibt es folgende Schichten:                                                                                                                                                                         # WochenplanungStepDefs.gibtEsFolgendeSchichten(SchichtTestDAO>)
    And folgende Maschinentypen werden im BestCase, AverageCase und WorstCase erwartet:                                                                                                                      # WochenplanungStepDefs.folgendeMaschinentypenWerdenImSzenarioErwartet(String,MaschinenTypZuordnungTestDAO>)
    And Es bleiben keine Aufträge im BestCase, AverageCase und WorstCase übrig.                                                                                                                              # WochenplanungStepDefs.esBleibenKeineAuftraegeImSzenarioUebrig(String)

  Background:                                                                              # features/Wochenplanung.feature:3
    And folgende Liste von Fähigkeiten:                                                    # RollenbelegungStepDefs.folgendeListeVonFaehigkeiten(FaehigkeitDAO>)
    And folgende Liste von MaschinenTypen:                                                 # RollenbelegungStepDefs.folgendeListeVonMaschinenTypen(MaschinenTypTestDAO>)
    And folgende Liste von Maschinen:                                                      # RollenbelegungStepDefs.folgendeListeVonMaschinen(MaschineDAO>)
    And die Schichtzeiten der Firma sehen wie folgt aus:                                   # WochenplanungStepDefs.dieSchichtzeitenDerFirmaSehenWieFolgtAus(DataTable)
    And der Eingangszeitpunkt sämtlicher Dokumentenklassen ist der 18.03.2018 um 22:30 Uhr # WochenplanungStepDefs.der_Eingangszeitpunkt_saemtlicher_Dokumentenklassen_ist_der_um_Uhr(int,int,int,int,int)

  Scenario: es gibt zwei Maschinen mit verschiedenen Maschinentypen, die jedoch bis auf die Geschwindigkeit gleich sind. Also wird zunächst die schnellere genommen und dann auf die langsamere ausgewichen. # features/Wochenplanung.feature:290
    Given alle Maschinen, Maschinentypen und Fähigkeiten sind resettet, sodass nichts von ihnen aus dem Background gilt.                                                                                     # RollenbelegungStepDefs.alleMaschinenMaschinentypenUndFaehigkeitenSindResettetSodassNichtsVonIhnenAusDemBackgroundGilt()
    And folgende Liste von Fähigkeiten:                                                                                                                                                                      # RollenbelegungStepDefs.folgendeListeVonFaehigkeiten(FaehigkeitDAO>)
    And folgende Liste von MaschinenTypen:                                                                                                                                                                   # RollenbelegungStepDefs.folgendeListeVonMaschinenTypen(MaschinenTypTestDAO>)
    And folgende Liste von Maschinen:                                                                                                                                                                        # RollenbelegungStepDefs.folgendeListeVonMaschinen(MaschineDAO>)
    And folgende Kundenaufträge:                                                                                                                                                                             # ProduktionsauftragStepDefs.folgendeKundenauftraege(String,String>>)
    When die Planung für den Zeitraum 19.03.2018 - 19.03.2018 mit der Planungsstrategie "standardstrategie" mit einem Produktionssatz von 100% erstellt wird                                                 # WochenplanungStepDefs.diePlanungFuerDenZeitraumMitDerPlanungsstrategieMitEinemProduktionssatzErstelltWird(int,int,int,int,int,int,String,int)
    Then gibt es folgende Schichten:                                                                                                                                                                         # WochenplanungStepDefs.gibtEsFolgendeSchichten(SchichtTestDAO>)
    And folgende Maschinentypen werden im BestCase, AverageCase und WorstCase erwartet:                                                                                                                      # WochenplanungStepDefs.folgendeMaschinentypenWerdenImSzenarioErwartet(String,MaschinenTypZuordnungTestDAO>)
    And Es bleiben keine Aufträge im BestCase, AverageCase und WorstCase übrig.                                                                                                                              # WochenplanungStepDefs.esBleibenKeineAuftraegeImSzenarioUebrig(String)

  Background:                                                                              # features/Wochenplanung.feature:3
    And folgende Liste von Fähigkeiten:                                                    # RollenbelegungStepDefs.folgendeListeVonFaehigkeiten(FaehigkeitDAO>)
    And folgende Liste von MaschinenTypen:                                                 # RollenbelegungStepDefs.folgendeListeVonMaschinenTypen(MaschinenTypTestDAO>)
    And folgende Liste von Maschinen:                                                      # RollenbelegungStepDefs.folgendeListeVonMaschinen(MaschineDAO>)
    And die Schichtzeiten der Firma sehen wie folgt aus:                                   # WochenplanungStepDefs.dieSchichtzeitenDerFirmaSehenWieFolgtAus(DataTable)
    And der Eingangszeitpunkt sämtlicher Dokumentenklassen ist der 18.03.2018 um 22:30 Uhr # WochenplanungStepDefs.der_Eingangszeitpunkt_saemtlicher_Dokumentenklassen_ist_der_um_Uhr(int,int,int,int,int)

  Scenario: Aufträge fallen noch gerade so in die erste Schicht auf die schnelle Maschine. (ohne sortierte Eingabe)                                          # features/Wochenplanung.feature:324
  es gibt zwei Maschinen mit verschiedenen Maschinentypen, die jedoch bis auf die Geschwindigkeit gleich sind. Also wird zunächst die schnellere genommen und dann auf die langsamere ausgewichen.
    Given alle Maschinen, Maschinentypen und Fähigkeiten sind resettet, sodass nichts von ihnen aus dem Background gilt.                                     # RollenbelegungStepDefs.alleMaschinenMaschinentypenUndFaehigkeitenSindResettetSodassNichtsVonIhnenAusDemBackgroundGilt()
    And folgende Liste von Fähigkeiten:                                                                                                                      # RollenbelegungStepDefs.folgendeListeVonFaehigkeiten(FaehigkeitDAO>)
    And folgende Liste von MaschinenTypen:                                                                                                                   # RollenbelegungStepDefs.folgendeListeVonMaschinenTypen(MaschinenTypTestDAO>)
    And folgende Liste von Maschinen:                                                                                                                        # RollenbelegungStepDefs.folgendeListeVonMaschinen(MaschineDAO>)
    And folgende Kundenaufträge:                                                                                                                             # ProduktionsauftragStepDefs.folgendeKundenauftraege(String,String>>)
    When die Planung für den Zeitraum 19.03.2018 - 19.03.2018 mit der Planungsstrategie "standardstrategie" mit einem Produktionssatz von 100% erstellt wird # WochenplanungStepDefs.diePlanungFuerDenZeitraumMitDerPlanungsstrategieMitEinemProduktionssatzErstelltWird(int,int,int,int,int,int,String,int)
    Then gibt es folgende Schichten:                                                                                                                         # WochenplanungStepDefs.gibtEsFolgendeSchichten(SchichtTestDAO>)
    And folgende Maschinentypen werden im BestCase, AverageCase und WorstCase erwartet:                                                                      # WochenplanungStepDefs.folgendeMaschinentypenWerdenImSzenarioErwartet(String,MaschinenTypZuordnungTestDAO>)
    And Es bleiben keine Aufträge im BestCase, AverageCase und WorstCase übrig.                                                                              # WochenplanungStepDefs.esBleibenKeineAuftraegeImSzenarioUebrig(String)

  Background:                                                                              # features/Wochenplanung.feature:3
    And folgende Liste von Fähigkeiten:                                                    # RollenbelegungStepDefs.folgendeListeVonFaehigkeiten(FaehigkeitDAO>)
    And folgende Liste von MaschinenTypen:                                                 # RollenbelegungStepDefs.folgendeListeVonMaschinenTypen(MaschinenTypTestDAO>)
    And folgende Liste von Maschinen:                                                      # RollenbelegungStepDefs.folgendeListeVonMaschinen(MaschineDAO>)
    And die Schichtzeiten der Firma sehen wie folgt aus:                                   # WochenplanungStepDefs.dieSchichtzeitenDerFirmaSehenWieFolgtAus(DataTable)
    And der Eingangszeitpunkt sämtlicher Dokumentenklassen ist der 18.03.2018 um 22:30 Uhr # WochenplanungStepDefs.der_Eingangszeitpunkt_saemtlicher_Dokumentenklassen_ist_der_um_Uhr(int,int,int,int,int)

  Scenario: Aufträge können gerade so nicht mehr von der schnellen Maschine in der ersten Schicht gewuppt werden. (ohne sortierte Eingabe)                   # features/Wochenplanung.feature:360
  es gibt zwei Maschinen mit verschiedenen Maschinentypen, die jedoch bis auf die Geschwindigkeit gleich sind. Also wird zunächst die schnellere genommen und dann auf die langsamere ausgewichen.
    Given alle Maschinen, Maschinentypen und Fähigkeiten sind resettet, sodass nichts von ihnen aus dem Background gilt.                                     # RollenbelegungStepDefs.alleMaschinenMaschinentypenUndFaehigkeitenSindResettetSodassNichtsVonIhnenAusDemBackgroundGilt()
    And folgende Liste von Fähigkeiten:                                                                                                                      # RollenbelegungStepDefs.folgendeListeVonFaehigkeiten(FaehigkeitDAO>)
    And folgende Liste von MaschinenTypen:                                                                                                                   # RollenbelegungStepDefs.folgendeListeVonMaschinenTypen(MaschinenTypTestDAO>)
    And folgende Liste von Maschinen:                                                                                                                        # RollenbelegungStepDefs.folgendeListeVonMaschinen(MaschineDAO>)
    And folgende Kundenaufträge:                                                                                                                             # ProduktionsauftragStepDefs.folgendeKundenauftraege(String,String>>)
    When die Planung für den Zeitraum 19.03.2018 - 19.03.2018 mit der Planungsstrategie "standardstrategie" mit einem Produktionssatz von 100% erstellt wird # WochenplanungStepDefs.diePlanungFuerDenZeitraumMitDerPlanungsstrategieMitEinemProduktionssatzErstelltWird(int,int,int,int,int,int,String,int)
    Then gibt es folgende Schichten:                                                                                                                         # WochenplanungStepDefs.gibtEsFolgendeSchichten(SchichtTestDAO>)
    And folgende Maschinentypen werden im BestCase, AverageCase und WorstCase erwartet:                                                                      # WochenplanungStepDefs.folgendeMaschinentypenWerdenImSzenarioErwartet(String,MaschinenTypZuordnungTestDAO>)
    And Es bleiben keine Aufträge im BestCase, AverageCase und WorstCase übrig.                                                                              # WochenplanungStepDefs.esBleibenKeineAuftraegeImSzenarioUebrig(String)

  Background:                                                                              # features/Wochenplanung.feature:3
    And folgende Liste von Fähigkeiten:                                                    # RollenbelegungStepDefs.folgendeListeVonFaehigkeiten(FaehigkeitDAO>)
    And folgende Liste von MaschinenTypen:                                                 # RollenbelegungStepDefs.folgendeListeVonMaschinenTypen(MaschinenTypTestDAO>)
    And folgende Liste von Maschinen:                                                      # RollenbelegungStepDefs.folgendeListeVonMaschinen(MaschineDAO>)
    And die Schichtzeiten der Firma sehen wie folgt aus:                                   # WochenplanungStepDefs.dieSchichtzeitenDerFirmaSehenWieFolgtAus(DataTable)
    And der Eingangszeitpunkt sämtlicher Dokumentenklassen ist der 18.03.2018 um 22:30 Uhr # WochenplanungStepDefs.der_Eingangszeitpunkt_saemtlicher_Dokumentenklassen_ist_der_um_Uhr(int,int,int,int,int)

  Scenario: Aufträge passen noch in die erste Schicht auf beiden Maschinen                                                                                   # features/Wochenplanung.feature:396
  es gibt zwei Maschinen mit verschiedenen Maschinentypen, die jedoch bis auf die Geschwindigkeit gleich sind. Also wird zunächst die schnellere genommen und dann auf die langsamere ausgewichen.
    Given alle Maschinen, Maschinentypen und Fähigkeiten sind resettet, sodass nichts von ihnen aus dem Background gilt.                                     # RollenbelegungStepDefs.alleMaschinenMaschinentypenUndFaehigkeitenSindResettetSodassNichtsVonIhnenAusDemBackgroundGilt()
    And folgende Liste von Fähigkeiten:                                                                                                                      # RollenbelegungStepDefs.folgendeListeVonFaehigkeiten(FaehigkeitDAO>)
    And folgende Liste von MaschinenTypen:                                                                                                                   # RollenbelegungStepDefs.folgendeListeVonMaschinenTypen(MaschinenTypTestDAO>)
    And folgende Liste von Maschinen:                                                                                                                        # RollenbelegungStepDefs.folgendeListeVonMaschinen(MaschineDAO>)
    And folgende Kundenaufträge:                                                                                                                             # ProduktionsauftragStepDefs.folgendeKundenauftraege(String,String>>)
    When die Planung für den Zeitraum 19.03.2018 - 19.03.2018 mit der Planungsstrategie "standardstrategie" mit einem Produktionssatz von 100% erstellt wird # WochenplanungStepDefs.diePlanungFuerDenZeitraumMitDerPlanungsstrategieMitEinemProduktionssatzErstelltWird(int,int,int,int,int,int,String,int)
    Then gibt es folgende Schichten:                                                                                                                         # WochenplanungStepDefs.gibtEsFolgendeSchichten(SchichtTestDAO>)
    And folgende Maschinentypen werden im BestCase, AverageCase und WorstCase erwartet:                                                                      # WochenplanungStepDefs.folgendeMaschinentypenWerdenImSzenarioErwartet(String,MaschinenTypZuordnungTestDAO>)
    And Es bleiben keine Aufträge im BestCase, AverageCase und WorstCase übrig.                                                                              # WochenplanungStepDefs.esBleibenKeineAuftraegeImSzenarioUebrig(String)

  Background:                                                                              # features/Wochenplanung.feature:3
    And folgende Liste von Fähigkeiten:                                                    # RollenbelegungStepDefs.folgendeListeVonFaehigkeiten(FaehigkeitDAO>)
    And folgende Liste von MaschinenTypen:                                                 # RollenbelegungStepDefs.folgendeListeVonMaschinenTypen(MaschinenTypTestDAO>)
    And folgende Liste von Maschinen:                                                      # RollenbelegungStepDefs.folgendeListeVonMaschinen(MaschineDAO>)
    And die Schichtzeiten der Firma sehen wie folgt aus:                                   # WochenplanungStepDefs.dieSchichtzeitenDerFirmaSehenWieFolgtAus(DataTable)
    And der Eingangszeitpunkt sämtlicher Dokumentenklassen ist der 18.03.2018 um 22:30 Uhr # WochenplanungStepDefs.der_Eingangszeitpunkt_saemtlicher_Dokumentenklassen_ist_der_um_Uhr(int,int,int,int,int)

  Scenario: es muss gerade so noch nicht auf die nächste Schicht ausgewichen werden, wobei beide Maschinen komplett befüllt sind.  (mit sortierter Eingabe)  # features/Wochenplanung.feature:434
  es gibt zwei Maschinen mit verschiedenen Maschinentypen, die jedoch bis auf die Geschwindigkeit gleich sind. Also wird zunächst die schnellere genommen und dann auf die langsamere ausgewichen.
    Given alle Maschinen, Maschinentypen und Fähigkeiten sind resettet, sodass nichts von ihnen aus dem Background gilt.                                     # RollenbelegungStepDefs.alleMaschinenMaschinentypenUndFaehigkeitenSindResettetSodassNichtsVonIhnenAusDemBackgroundGilt()
    And folgende Liste von Fähigkeiten:                                                                                                                      # RollenbelegungStepDefs.folgendeListeVonFaehigkeiten(FaehigkeitDAO>)
    And folgende Liste von MaschinenTypen:                                                                                                                   # RollenbelegungStepDefs.folgendeListeVonMaschinenTypen(MaschinenTypTestDAO>)
    And folgende Liste von Maschinen:                                                                                                                        # RollenbelegungStepDefs.folgendeListeVonMaschinen(MaschineDAO>)
    And folgende Kundenaufträge:                                                                                                                             # ProduktionsauftragStepDefs.folgendeKundenauftraege(String,String>>)
    When die Planung für den Zeitraum 19.03.2018 - 19.03.2018 mit der Planungsstrategie "standardstrategie" mit einem Produktionssatz von 100% erstellt wird # WochenplanungStepDefs.diePlanungFuerDenZeitraumMitDerPlanungsstrategieMitEinemProduktionssatzErstelltWird(int,int,int,int,int,int,String,int)
    Then gibt es folgende Schichten:                                                                                                                         # WochenplanungStepDefs.gibtEsFolgendeSchichten(SchichtTestDAO>)
    And folgende Maschinentypen werden im BestCase, AverageCase und WorstCase erwartet:                                                                      # WochenplanungStepDefs.folgendeMaschinentypenWerdenImSzenarioErwartet(String,MaschinenTypZuordnungTestDAO>)
    And Es bleiben keine Aufträge im BestCase, AverageCase und WorstCase übrig.                                                                              # WochenplanungStepDefs.esBleibenKeineAuftraegeImSzenarioUebrig(String)

  Background:                                                                              # features/Wochenplanung.feature:3
    And folgende Liste von Fähigkeiten:                                                    # RollenbelegungStepDefs.folgendeListeVonFaehigkeiten(FaehigkeitDAO>)
    And folgende Liste von MaschinenTypen:                                                 # RollenbelegungStepDefs.folgendeListeVonMaschinenTypen(MaschinenTypTestDAO>)
    And folgende Liste von Maschinen:                                                      # RollenbelegungStepDefs.folgendeListeVonMaschinen(MaschineDAO>)
    And die Schichtzeiten der Firma sehen wie folgt aus:                                   # WochenplanungStepDefs.dieSchichtzeitenDerFirmaSehenWieFolgtAus(DataTable)
    And der Eingangszeitpunkt sämtlicher Dokumentenklassen ist der 18.03.2018 um 22:30 Uhr # WochenplanungStepDefs.der_Eingangszeitpunkt_saemtlicher_Dokumentenklassen_ist_der_um_Uhr(int,int,int,int,int)

  Scenario: es muss auf die zweite Schicht ausgewichen werden, da beide Maschinen das Aufkommen von Produktionsaufträgen nicht in der ersten Schicht schaffen werden. # features/Wochenplanung.feature:474
  es gibt zwei Maschinen mit verschiedenen Maschinentypen, die jedoch bis auf die Geschwindigkeit gleich sind. Also wird zunächst die schnellere genommen und dann auf die langsamere ausgewichen.
    Given alle Maschinen, Maschinentypen und Fähigkeiten sind resettet, sodass nichts von ihnen aus dem Background gilt.                                              # RollenbelegungStepDefs.alleMaschinenMaschinentypenUndFaehigkeitenSindResettetSodassNichtsVonIhnenAusDemBackgroundGilt()
    And folgende Liste von Fähigkeiten:                                                                                                                               # RollenbelegungStepDefs.folgendeListeVonFaehigkeiten(FaehigkeitDAO>)
    And folgende Liste von MaschinenTypen:                                                                                                                            # RollenbelegungStepDefs.folgendeListeVonMaschinenTypen(MaschinenTypTestDAO>)
    And folgende Liste von Maschinen:                                                                                                                                 # RollenbelegungStepDefs.folgendeListeVonMaschinen(MaschineDAO>)
    And folgende Kundenaufträge:                                                                                                                                      # ProduktionsauftragStepDefs.folgendeKundenauftraege(String,String>>)
    When die Planung für den Zeitraum 19.03.2018 - 19.03.2018 mit der Planungsstrategie "standardstrategie" mit einem Produktionssatz von 100% erstellt wird          # WochenplanungStepDefs.diePlanungFuerDenZeitraumMitDerPlanungsstrategieMitEinemProduktionssatzErstelltWird(int,int,int,int,int,int,String,int)
    Then gibt es folgende Schichten:                                                                                                                                  # WochenplanungStepDefs.gibtEsFolgendeSchichten(SchichtTestDAO>)
    And folgende Maschinentypen werden im BestCase, AverageCase und WorstCase erwartet:                                                                               # WochenplanungStepDefs.folgendeMaschinentypenWerdenImSzenarioErwartet(String,MaschinenTypZuordnungTestDAO>)
    And Es bleiben keine Aufträge im BestCase, AverageCase und WorstCase übrig.                                                                                       # WochenplanungStepDefs.esBleibenKeineAuftraegeImSzenarioUebrig(String)

  Background:                                                                              # features/Wochenplanung.feature:3
    And folgende Liste von Fähigkeiten:                                                    # RollenbelegungStepDefs.folgendeListeVonFaehigkeiten(FaehigkeitDAO>)
    And folgende Liste von MaschinenTypen:                                                 # RollenbelegungStepDefs.folgendeListeVonMaschinenTypen(MaschinenTypTestDAO>)
    And folgende Liste von Maschinen:                                                      # RollenbelegungStepDefs.folgendeListeVonMaschinen(MaschineDAO>)
    And die Schichtzeiten der Firma sehen wie folgt aus:                                   # WochenplanungStepDefs.dieSchichtzeitenDerFirmaSehenWieFolgtAus(DataTable)
    And der Eingangszeitpunkt sämtlicher Dokumentenklassen ist der 18.03.2018 um 22:30 Uhr # WochenplanungStepDefs.der_Eingangszeitpunkt_saemtlicher_Dokumentenklassen_ist_der_um_Uhr(int,int,int,int,int)

  Scenario: wenn der Produktionsauftrag mit Fähigkeiten "Drucken" und "Kuvertieren" nicht in die erste Schicht zeitlich passt, da alle Druckern belegt sind. # features/Wochenplanung.feature:517
  In diesem Fall ist zu erwarten, dass der Auftrag erst in der 2. Schicht bearbeitet wird und in der 1. gar nicht  abgearbeitet wird (auch das Kuvertieren nicht, obwohl die Maschinen dafür da sind).
    Given alle Maschinen, Maschinentypen und Fähigkeiten sind resettet, sodass nichts von ihnen aus dem Background gilt.                                     # RollenbelegungStepDefs.alleMaschinenMaschinentypenUndFaehigkeitenSindResettetSodassNichtsVonIhnenAusDemBackgroundGilt()
    And folgende Liste von Fähigkeiten:                                                                                                                      # RollenbelegungStepDefs.folgendeListeVonFaehigkeiten(FaehigkeitDAO>)
    And folgende Liste von MaschinenTypen:                                                                                                                   # RollenbelegungStepDefs.folgendeListeVonMaschinenTypen(MaschinenTypTestDAO>)
    And folgende Liste von Maschinen:                                                                                                                        # RollenbelegungStepDefs.folgendeListeVonMaschinen(MaschineDAO>)
    And folgende Kundenaufträge:                                                                                                                             # ProduktionsauftragStepDefs.folgendeKundenauftraege(String,String>>)
    When die Planung für den Zeitraum 19.03.2018 - 19.03.2018 mit der Planungsstrategie "standardstrategie" mit einem Produktionssatz von 100% erstellt wird # WochenplanungStepDefs.diePlanungFuerDenZeitraumMitDerPlanungsstrategieMitEinemProduktionssatzErstelltWird(int,int,int,int,int,int,String,int)
    Then gibt es folgende Schichten:                                                                                                                         # WochenplanungStepDefs.gibtEsFolgendeSchichten(SchichtTestDAO>)
    And folgende Maschinentypen werden im BestCase, AverageCase und WorstCase erwartet:                                                                      # WochenplanungStepDefs.folgendeMaschinentypenWerdenImSzenarioErwartet(String,MaschinenTypZuordnungTestDAO>)
    And Es bleiben keine Aufträge im BestCase, AverageCase und WorstCase übrig.                                                                              # WochenplanungStepDefs.esBleibenKeineAuftraegeImSzenarioUebrig(String)

  Background:                                                                              # features/Wochenplanung.feature:3
    And folgende Liste von Fähigkeiten:                                                    # RollenbelegungStepDefs.folgendeListeVonFaehigkeiten(FaehigkeitDAO>)
    And folgende Liste von MaschinenTypen:                                                 # RollenbelegungStepDefs.folgendeListeVonMaschinenTypen(MaschinenTypTestDAO>)
    And folgende Liste von Maschinen:                                                      # RollenbelegungStepDefs.folgendeListeVonMaschinen(MaschineDAO>)
    And die Schichtzeiten der Firma sehen wie folgt aus:                                   # WochenplanungStepDefs.dieSchichtzeitenDerFirmaSehenWieFolgtAus(DataTable)
    And der Eingangszeitpunkt sämtlicher Dokumentenklassen ist der 18.03.2018 um 22:30 Uhr # WochenplanungStepDefs.der_Eingangszeitpunkt_saemtlicher_Dokumentenklassen_ist_der_um_Uhr(int,int,int,int,int)

  Scenario: Hier wartet der Algorythmus nicht, bis der Auftrag mit der id2 gedruckt wird. Es kann bereits in erste Stunde der Schicht dieser Auftrag kuvertiert werden. # features/Wochenplanung.feature:555
    Given alle Maschinen, Maschinentypen und Fähigkeiten sind resettet, sodass nichts von ihnen aus dem Background gilt.                                                # RollenbelegungStepDefs.alleMaschinenMaschinentypenUndFaehigkeitenSindResettetSodassNichtsVonIhnenAusDemBackgroundGilt()
    And folgende Liste von Fähigkeiten:                                                                                                                                 # RollenbelegungStepDefs.folgendeListeVonFaehigkeiten(FaehigkeitDAO>)
    And folgende Liste von MaschinenTypen:                                                                                                                              # RollenbelegungStepDefs.folgendeListeVonMaschinenTypen(MaschinenTypTestDAO>)
    And folgende Liste von Maschinen:                                                                                                                                   # RollenbelegungStepDefs.folgendeListeVonMaschinen(MaschineDAO>)
    And folgende Kundenaufträge:                                                                                                                                        # ProduktionsauftragStepDefs.folgendeKundenauftraege(String,String>>)
    When die Planung für den Zeitraum 19.03.2018 - 19.03.2018 mit der Planungsstrategie "standardstrategie" mit einem Produktionssatz von 100% erstellt wird            # WochenplanungStepDefs.diePlanungFuerDenZeitraumMitDerPlanungsstrategieMitEinemProduktionssatzErstelltWird(int,int,int,int,int,int,String,int)
    Then gibt es folgende Schichten:                                                                                                                                    # WochenplanungStepDefs.gibtEsFolgendeSchichten(SchichtTestDAO>)
    And folgende Maschinentypen werden im BestCase, AverageCase und WorstCase erwartet:                                                                                 # WochenplanungStepDefs.folgendeMaschinentypenWerdenImSzenarioErwartet(String,MaschinenTypZuordnungTestDAO>)
    And Es bleiben keine Aufträge im BestCase, AverageCase und WorstCase übrig.                                                                                         # WochenplanungStepDefs.esBleibenKeineAuftraegeImSzenarioUebrig(String)

  Background:                                                                              # features/Wochenplanung.feature:3
    And folgende Liste von Fähigkeiten:                                                    # RollenbelegungStepDefs.folgendeListeVonFaehigkeiten(FaehigkeitDAO>)
    And folgende Liste von MaschinenTypen:                                                 # RollenbelegungStepDefs.folgendeListeVonMaschinenTypen(MaschinenTypTestDAO>)
    And folgende Liste von Maschinen:                                                      # RollenbelegungStepDefs.folgendeListeVonMaschinen(MaschineDAO>)
    And die Schichtzeiten der Firma sehen wie folgt aus:                                   # WochenplanungStepDefs.dieSchichtzeitenDerFirmaSehenWieFolgtAus(DataTable)
    And der Eingangszeitpunkt sämtlicher Dokumentenklassen ist der 18.03.2018 um 22:30 Uhr # WochenplanungStepDefs.der_Eingangszeitpunkt_saemtlicher_Dokumentenklassen_ist_der_um_Uhr(int,int,int,int,int)

  Scenario: ein Auftrag mit den benötigten Fähigkeiten "drucken" und "kuvertieren" ist gegeben. Hier darf der gleiche Auftrag kuvertiert werden,             # features/Wochenplanung.feature:592
  solange er noch nicht gedruckt ist! Dieses Problem kann in der Tagesplanung behandelt werden, indem der Auftrag vielleicht noch zerschnitten wird.
    Given alle Maschinen, Maschinentypen und Fähigkeiten sind resettet, sodass nichts von ihnen aus dem Background gilt.                                     # RollenbelegungStepDefs.alleMaschinenMaschinentypenUndFaehigkeitenSindResettetSodassNichtsVonIhnenAusDemBackgroundGilt()
    And folgende Liste von Fähigkeiten:                                                                                                                      # RollenbelegungStepDefs.folgendeListeVonFaehigkeiten(FaehigkeitDAO>)
    And folgende Liste von MaschinenTypen:                                                                                                                   # RollenbelegungStepDefs.folgendeListeVonMaschinenTypen(MaschinenTypTestDAO>)
    And folgende Liste von Maschinen:                                                                                                                        # RollenbelegungStepDefs.folgendeListeVonMaschinen(MaschineDAO>)
    And folgende Kundenaufträge:                                                                                                                             # ProduktionsauftragStepDefs.folgendeKundenauftraege(String,String>>)
    When die Planung für den Zeitraum 19.03.2018 - 19.03.2018 mit der Planungsstrategie "standardstrategie" mit einem Produktionssatz von 100% erstellt wird # WochenplanungStepDefs.diePlanungFuerDenZeitraumMitDerPlanungsstrategieMitEinemProduktionssatzErstelltWird(int,int,int,int,int,int,String,int)
    Then gibt es folgende Schichten:                                                                                                                         # WochenplanungStepDefs.gibtEsFolgendeSchichten(SchichtTestDAO>)
    And folgende Maschinentypen werden im BestCase, AverageCase und WorstCase erwartet:                                                                      # WochenplanungStepDefs.folgendeMaschinentypenWerdenImSzenarioErwartet(String,MaschinenTypZuordnungTestDAO>)
    And Es bleiben keine Aufträge im BestCase, AverageCase und WorstCase übrig.                                                                              # WochenplanungStepDefs.esBleibenKeineAuftraegeImSzenarioUebrig(String)

  Background:                                                                              # features/Wochenplanung.feature:3
    And folgende Liste von Fähigkeiten:                                                    # RollenbelegungStepDefs.folgendeListeVonFaehigkeiten(FaehigkeitDAO>)
    And folgende Liste von MaschinenTypen:                                                 # RollenbelegungStepDefs.folgendeListeVonMaschinenTypen(MaschinenTypTestDAO>)
    And folgende Liste von Maschinen:                                                      # RollenbelegungStepDefs.folgendeListeVonMaschinen(MaschineDAO>)
    And die Schichtzeiten der Firma sehen wie folgt aus:                                   # WochenplanungStepDefs.dieSchichtzeitenDerFirmaSehenWieFolgtAus(DataTable)
    And der Eingangszeitpunkt sämtlicher Dokumentenklassen ist der 18.03.2018 um 22:30 Uhr # WochenplanungStepDefs.der_Eingangszeitpunkt_saemtlicher_Dokumentenklassen_ist_der_um_Uhr(int,int,int,int,int)

  Scenario: Verschiedene Dokumentenklassen können aus verschiedenen Gründen nicht verarbeitet werden.                                                        # features/Wochenplanung.feature:628
    Given alle Maschinen, Maschinentypen und Fähigkeiten sind resettet, sodass nichts von ihnen aus dem Background gilt.                                     # RollenbelegungStepDefs.alleMaschinenMaschinentypenUndFaehigkeitenSindResettetSodassNichtsVonIhnenAusDemBackgroundGilt()
    And der Eingangszeitpunkt sämtlicher Dokumentenklassen ist der 18.03.2018 um 13:30 Uhr                                                                   # WochenplanungStepDefs.der_Eingangszeitpunkt_saemtlicher_Dokumentenklassen_ist_der_um_Uhr(int,int,int,int,int)
    And folgende Liste von Fähigkeiten:                                                                                                                      # RollenbelegungStepDefs.folgendeListeVonFaehigkeiten(FaehigkeitDAO>)
    And folgende Liste von MaschinenTypen:                                                                                                                   # RollenbelegungStepDefs.folgendeListeVonMaschinenTypen(MaschinenTypTestDAO>)
    And folgende Liste von Maschinen:                                                                                                                        # RollenbelegungStepDefs.folgendeListeVonMaschinen(MaschineDAO>)
    And folgende Kundenaufträge:                                                                                                                             # ProduktionsauftragStepDefs.folgendeKundenauftraege(String,String>>)
    When die Planung für den Zeitraum 19.03.2018 - 19.03.2018 mit der Planungsstrategie "standardstrategie" mit einem Produktionssatz von 100% erstellt wird # WochenplanungStepDefs.diePlanungFuerDenZeitraumMitDerPlanungsstrategieMitEinemProduktionssatzErstelltWird(int,int,int,int,int,int,String,int)
    Then gibt es folgende Schichten:                                                                                                                         # WochenplanungStepDefs.gibtEsFolgendeSchichten(SchichtTestDAO>)
    And folgende Maschinentypen werden im BestCase, AverageCase und WorstCase erwartet:                                                                      # WochenplanungStepDefs.folgendeMaschinentypenWerdenImSzenarioErwartet(String,MaschinenTypZuordnungTestDAO>)
    And es bleiben folgende Aufträge im BestCase, AverageCase und WorstCase übrig:                                                                           # WochenplanungStepDefs.esBleibenFolgendeAuftraegeImSzenarioUebrig(String,UebrigeAuftraegeTestDAO>)

  Background:                                                                              # features/Wochenplanung.feature:3
    And folgende Liste von Fähigkeiten:                                                    # RollenbelegungStepDefs.folgendeListeVonFaehigkeiten(FaehigkeitDAO>)
    And folgende Liste von MaschinenTypen:                                                 # RollenbelegungStepDefs.folgendeListeVonMaschinenTypen(MaschinenTypTestDAO>)
    And folgende Liste von Maschinen:                                                      # RollenbelegungStepDefs.folgendeListeVonMaschinen(MaschineDAO>)
    And die Schichtzeiten der Firma sehen wie folgt aus:                                   # WochenplanungStepDefs.dieSchichtzeitenDerFirmaSehenWieFolgtAus(DataTable)
    And der Eingangszeitpunkt sämtlicher Dokumentenklassen ist der 18.03.2018 um 22:30 Uhr # WochenplanungStepDefs.der_Eingangszeitpunkt_saemtlicher_Dokumentenklassen_ist_der_um_Uhr(int,int,int,int,int)

  Scenario: es gibt mehrere Drucker und sobald ein Drucker in der Schicht vollständig befüllt ist,  müssen die Druckaufträge zu nächste Drcuckmaschine zugeordnet werden. # features/Wochenplanung.feature:682
    Given alle Maschinen, Maschinentypen und Fähigkeiten sind resettet, sodass nichts von ihnen aus dem Background gilt.                                                  # RollenbelegungStepDefs.alleMaschinenMaschinentypenUndFaehigkeitenSindResettetSodassNichtsVonIhnenAusDemBackgroundGilt()
    And folgende Liste von Fähigkeiten:                                                                                                                                   # RollenbelegungStepDefs.folgendeListeVonFaehigkeiten(FaehigkeitDAO>)
    And folgende Liste von MaschinenTypen:                                                                                                                                # RollenbelegungStepDefs.folgendeListeVonMaschinenTypen(MaschinenTypTestDAO>)
    And folgende Liste von Maschinen:                                                                                                                                     # RollenbelegungStepDefs.folgendeListeVonMaschinen(MaschineDAO>)
    And folgende Kundenaufträge:                                                                                                                                          # ProduktionsauftragStepDefs.folgendeKundenauftraege(String,String>>)
    When die Planung für den Zeitraum 19.03.2018 - 19.03.2018 mit der Planungsstrategie "standardstrategie" mit einem Produktionssatz von 100% erstellt wird              # WochenplanungStepDefs.diePlanungFuerDenZeitraumMitDerPlanungsstrategieMitEinemProduktionssatzErstelltWird(int,int,int,int,int,int,String,int)
    Then gibt es folgende Schichten:                                                                                                                                      # WochenplanungStepDefs.gibtEsFolgendeSchichten(SchichtTestDAO>)
    And folgende Maschinentypen werden im BestCase, AverageCase und WorstCase erwartet:                                                                                   # WochenplanungStepDefs.folgendeMaschinentypenWerdenImSzenarioErwartet(String,MaschinenTypZuordnungTestDAO>)
    And Es bleiben keine Aufträge im BestCase, AverageCase und WorstCase übrig.                                                                                           # WochenplanungStepDefs.esBleibenKeineAuftraegeImSzenarioUebrig(String)

  Background:                                                                              # features/Wochenplanung.feature:3
    And folgende Liste von Fähigkeiten:                                                    # RollenbelegungStepDefs.folgendeListeVonFaehigkeiten(FaehigkeitDAO>)
    And folgende Liste von MaschinenTypen:                                                 # RollenbelegungStepDefs.folgendeListeVonMaschinenTypen(MaschinenTypTestDAO>)
    And folgende Liste von Maschinen:                                                      # RollenbelegungStepDefs.folgendeListeVonMaschinen(MaschineDAO>)
    And die Schichtzeiten der Firma sehen wie folgt aus:                                   # WochenplanungStepDefs.dieSchichtzeitenDerFirmaSehenWieFolgtAus(DataTable)
    And der Eingangszeitpunkt sämtlicher Dokumentenklassen ist der 18.03.2018 um 22:30 Uhr # WochenplanungStepDefs.der_Eingangszeitpunkt_saemtlicher_Dokumentenklassen_ist_der_um_Uhr(int,int,int,int,int)

  Scenario: es gibt mehrere Drucker des gleichen Typs.                                                                                                       # features/Wochenplanung.feature:721
    Given alle Maschinen, Maschinentypen und Fähigkeiten sind resettet, sodass nichts von ihnen aus dem Background gilt.                                     # RollenbelegungStepDefs.alleMaschinenMaschinentypenUndFaehigkeitenSindResettetSodassNichtsVonIhnenAusDemBackgroundGilt()
    And folgende Liste von Fähigkeiten:                                                                                                                      # RollenbelegungStepDefs.folgendeListeVonFaehigkeiten(FaehigkeitDAO>)
    And folgende Liste von MaschinenTypen:                                                                                                                   # RollenbelegungStepDefs.folgendeListeVonMaschinenTypen(MaschinenTypTestDAO>)
    And folgende Liste von Maschinen:                                                                                                                        # RollenbelegungStepDefs.folgendeListeVonMaschinen(MaschineDAO>)
    And folgende Kundenaufträge:                                                                                                                             # ProduktionsauftragStepDefs.folgendeKundenauftraege(String,String>>)
    When die Planung für den Zeitraum 19.03.2018 - 19.03.2018 mit der Planungsstrategie "standardstrategie" mit einem Produktionssatz von 100% erstellt wird # WochenplanungStepDefs.diePlanungFuerDenZeitraumMitDerPlanungsstrategieMitEinemProduktionssatzErstelltWird(int,int,int,int,int,int,String,int)
    Then gibt es folgende Schichten:                                                                                                                         # WochenplanungStepDefs.gibtEsFolgendeSchichten(SchichtTestDAO>)
    And folgende Maschinentypen werden im BestCase, AverageCase und WorstCase erwartet:                                                                      # WochenplanungStepDefs.folgendeMaschinentypenWerdenImSzenarioErwartet(String,MaschinenTypZuordnungTestDAO>)
    And Es bleiben keine Aufträge im BestCase, AverageCase und WorstCase übrig.                                                                              # WochenplanungStepDefs.esBleibenKeineAuftraegeImSzenarioUebrig(String)

  Background:                                                                              # features/Wochenplanung.feature:3
    And folgende Liste von Fähigkeiten:                                                    # RollenbelegungStepDefs.folgendeListeVonFaehigkeiten(FaehigkeitDAO>)
    And folgende Liste von MaschinenTypen:                                                 # RollenbelegungStepDefs.folgendeListeVonMaschinenTypen(MaschinenTypTestDAO>)
    And folgende Liste von Maschinen:                                                      # RollenbelegungStepDefs.folgendeListeVonMaschinen(MaschineDAO>)
    And die Schichtzeiten der Firma sehen wie folgt aus:                                   # WochenplanungStepDefs.dieSchichtzeitenDerFirmaSehenWieFolgtAus(DataTable)
    And der Eingangszeitpunkt sämtlicher Dokumentenklassen ist der 18.03.2018 um 22:30 Uhr # WochenplanungStepDefs.der_Eingangszeitpunkt_saemtlicher_Dokumentenklassen_ist_der_um_Uhr(int,int,int,int,int)

  Scenario: es gibt mehrere Drucker des gleichen Typs, die sich nach Geschwindigkeit unterscheiden.  Der schnellere Maschinen werden als erste befüllt. Prüfung, ob das stimmt. # features/Wochenplanung.feature:760
    Given alle Maschinen, Maschinentypen und Fähigkeiten sind resettet, sodass nichts von ihnen aus dem Background gilt.                                                        # RollenbelegungStepDefs.alleMaschinenMaschinentypenUndFaehigkeitenSindResettetSodassNichtsVonIhnenAusDemBackgroundGilt()
    And folgende Liste von Fähigkeiten:                                                                                                                                         # RollenbelegungStepDefs.folgendeListeVonFaehigkeiten(FaehigkeitDAO>)
    And folgende Liste von MaschinenTypen:                                                                                                                                      # RollenbelegungStepDefs.folgendeListeVonMaschinenTypen(MaschinenTypTestDAO>)
    And folgende Liste von Maschinen:                                                                                                                                           # RollenbelegungStepDefs.folgendeListeVonMaschinen(MaschineDAO>)
    And folgende Kundenaufträge:                                                                                                                                                # ProduktionsauftragStepDefs.folgendeKundenauftraege(String,String>>)
    When die Planung für den Zeitraum 19.03.2018 - 19.03.2018 mit der Planungsstrategie "standardstrategie" mit einem Produktionssatz von 100% erstellt wird                    # WochenplanungStepDefs.diePlanungFuerDenZeitraumMitDerPlanungsstrategieMitEinemProduktionssatzErstelltWird(int,int,int,int,int,int,String,int)
    Then gibt es folgende Schichten:                                                                                                                                            # WochenplanungStepDefs.gibtEsFolgendeSchichten(SchichtTestDAO>)
    And folgende Maschinentypen werden im BestCase, AverageCase und WorstCase erwartet:                                                                                         # WochenplanungStepDefs.folgendeMaschinentypenWerdenImSzenarioErwartet(String,MaschinenTypZuordnungTestDAO>)
    And Es bleiben keine Aufträge im BestCase, AverageCase und WorstCase übrig.                                                                                                 # WochenplanungStepDefs.esBleibenKeineAuftraegeImSzenarioUebrig(String)

  Background:                                                                              # features/Wochenplanung.feature:3
    And folgende Liste von Fähigkeiten:                                                    # RollenbelegungStepDefs.folgendeListeVonFaehigkeiten(FaehigkeitDAO>)
    And folgende Liste von MaschinenTypen:                                                 # RollenbelegungStepDefs.folgendeListeVonMaschinenTypen(MaschinenTypTestDAO>)
    And folgende Liste von Maschinen:                                                      # RollenbelegungStepDefs.folgendeListeVonMaschinen(MaschineDAO>)
    And die Schichtzeiten der Firma sehen wie folgt aus:                                   # WochenplanungStepDefs.dieSchichtzeitenDerFirmaSehenWieFolgtAus(DataTable)
    And der Eingangszeitpunkt sämtlicher Dokumentenklassen ist der 18.03.2018 um 22:30 Uhr # WochenplanungStepDefs.der_Eingangszeitpunkt_saemtlicher_Dokumentenklassen_ist_der_um_Uhr(int,int,int,int,int)

  Scenario: es gibt mehrere Drucker des gleichen Typs, die sich nach Geschwindigkeit unterscheiden.  Der schnellere Maschinen werden als erste befüllt. Prüfung, ob das stimmt. # features/Wochenplanung.feature:797
    Given alle Maschinen, Maschinentypen und Fähigkeiten sind resettet, sodass nichts von ihnen aus dem Background gilt.                                                        # RollenbelegungStepDefs.alleMaschinenMaschinentypenUndFaehigkeitenSindResettetSodassNichtsVonIhnenAusDemBackgroundGilt()
    And folgende Liste von Fähigkeiten:                                                                                                                                         # RollenbelegungStepDefs.folgendeListeVonFaehigkeiten(FaehigkeitDAO>)
    And folgende Liste von MaschinenTypen:                                                                                                                                      # RollenbelegungStepDefs.folgendeListeVonMaschinenTypen(MaschinenTypTestDAO>)
    And folgende Liste von Maschinen:                                                                                                                                           # RollenbelegungStepDefs.folgendeListeVonMaschinen(MaschineDAO>)
    And folgende Kundenaufträge:                                                                                                                                                # ProduktionsauftragStepDefs.folgendeKundenauftraege(String,String>>)
    When die Planung für den Zeitraum 19.03.2018 - 19.03.2018 mit der Planungsstrategie "standardstrategie" mit einem Produktionssatz von 100% erstellt wird                    # WochenplanungStepDefs.diePlanungFuerDenZeitraumMitDerPlanungsstrategieMitEinemProduktionssatzErstelltWird(int,int,int,int,int,int,String,int)
    Then gibt es folgende Schichten:                                                                                                                                            # WochenplanungStepDefs.gibtEsFolgendeSchichten(SchichtTestDAO>)
    And folgende Maschinentypen werden im BestCase, AverageCase und WorstCase erwartet:                                                                                         # WochenplanungStepDefs.folgendeMaschinentypenWerdenImSzenarioErwartet(String,MaschinenTypZuordnungTestDAO>)
    And es bleiben folgende Aufträge im BestCase, AverageCase und WorstCase übrig:                                                                                              # WochenplanungStepDefs.esBleibenFolgendeAuftraegeImSzenarioUebrig(String,UebrigeAuftraegeTestDAO>)

  Background:                                                                              # features/Wochenplanung.feature:3
    And folgende Liste von Fähigkeiten:                                                    # RollenbelegungStepDefs.folgendeListeVonFaehigkeiten(FaehigkeitDAO>)
    And folgende Liste von MaschinenTypen:                                                 # RollenbelegungStepDefs.folgendeListeVonMaschinenTypen(MaschinenTypTestDAO>)
    And folgende Liste von Maschinen:                                                      # RollenbelegungStepDefs.folgendeListeVonMaschinen(MaschineDAO>)
    And die Schichtzeiten der Firma sehen wie folgt aus:                                   # WochenplanungStepDefs.dieSchichtzeitenDerFirmaSehenWieFolgtAus(DataTable)
    And der Eingangszeitpunkt sämtlicher Dokumentenklassen ist der 18.03.2018 um 22:30 Uhr # WochenplanungStepDefs.der_Eingangszeitpunkt_saemtlicher_Dokumentenklassen_ist_der_um_Uhr(int,int,int,int,int)

  Scenario: Außer normalen eingehenden Kundenaufträge sind auch die voraussichtlichen Dokumentenklassen vorhanden, die im "best case" gar nicht kommen,      # features/Wochenplanung.feature:846
  im "average case" werden auf alle Schichten des Eingangszeitraums verteilt und im "worst case" wird es mit maximalem Blattanzahl in jeder Schicht des Planungzeitraums erwartet. Prüfung, ob die Belegung stimmt.
    Given alle Maschinen, Maschinentypen und Fähigkeiten sind resettet, sodass nichts von ihnen aus dem Background gilt.                                     # RollenbelegungStepDefs.alleMaschinenMaschinentypenUndFaehigkeitenSindResettetSodassNichtsVonIhnenAusDemBackgroundGilt()
    And folgende Liste von Fähigkeiten:                                                                                                                      # RollenbelegungStepDefs.folgendeListeVonFaehigkeiten(FaehigkeitDAO>)
    And folgende Liste von MaschinenTypen:                                                                                                                   # RollenbelegungStepDefs.folgendeListeVonMaschinenTypen(MaschinenTypTestDAO>)
    And folgende Liste von Maschinen:                                                                                                                        # RollenbelegungStepDefs.folgendeListeVonMaschinen(MaschineDAO>)
    And folgende Voranmeldungen:                                                                                                                             # WochenplanungStepDefs.folgendeVoranmeldungen(String,String>>)
    And folgende Kundenaufträge:                                                                                                                             # ProduktionsauftragStepDefs.folgendeKundenauftraege(String,String>>)
    When die Planung für den Zeitraum 19.03.2018 - 20.03.2018 mit der Planungsstrategie "standardstrategie" mit einem Produktionssatz von 100% erstellt wird # WochenplanungStepDefs.diePlanungFuerDenZeitraumMitDerPlanungsstrategieMitEinemProduktionssatzErstelltWird(int,int,int,int,int,int,String,int)
    Then gibt es folgende Schichten:                                                                                                                         # WochenplanungStepDefs.gibtEsFolgendeSchichten(SchichtTestDAO>)
    And folgende Maschinentypen werden im BestCase erwartet:                                                                                                 # WochenplanungStepDefs.folgendeMaschinentypenWerdenImSzenarioErwartet(String,MaschinenTypZuordnungTestDAO>)
    And folgende Maschinentypen werden im AverageCase erwartet:                                                                                              # WochenplanungStepDefs.folgendeMaschinentypenWerdenImSzenarioErwartet(String,MaschinenTypZuordnungTestDAO>)
    And folgende Maschinentypen werden im WorstCase erwartet:                                                                                                # WochenplanungStepDefs.folgendeMaschinentypenWerdenImSzenarioErwartet(String,MaschinenTypZuordnungTestDAO>)
    And Es bleiben keine Aufträge im BestCase, AverageCase und WorstCase übrig.                                                                              # WochenplanungStepDefs.esBleibenKeineAuftraegeImSzenarioUebrig(String)

  Background:                                                                              # features/Wochenplanung.feature:3
    And folgende Liste von Fähigkeiten:                                                    # RollenbelegungStepDefs.folgendeListeVonFaehigkeiten(FaehigkeitDAO>)
    And folgende Liste von MaschinenTypen:                                                 # RollenbelegungStepDefs.folgendeListeVonMaschinenTypen(MaschinenTypTestDAO>)
    And folgende Liste von Maschinen:                                                      # RollenbelegungStepDefs.folgendeListeVonMaschinen(MaschineDAO>)
    And die Schichtzeiten der Firma sehen wie folgt aus:                                   # WochenplanungStepDefs.dieSchichtzeitenDerFirmaSehenWieFolgtAus(DataTable)
    And der Eingangszeitpunkt sämtlicher Dokumentenklassen ist der 18.03.2018 um 22:30 Uhr # WochenplanungStepDefs.der_Eingangszeitpunkt_saemtlicher_Dokumentenklassen_ist_der_um_Uhr(int,int,int,int,int)

  Scenario: Hier wird der Auftrag 9 im Average Case mit 1000 Blätter in die 2 Schicht eingeplant (500+500) und im worst case nur ein Mal bei der 2 Schicht mit 1000 Blätter genommen # features/Wochenplanung.feature:896
    Given alle Maschinen, Maschinentypen und Fähigkeiten sind resettet, sodass nichts von ihnen aus dem Background gilt.                                                             # RollenbelegungStepDefs.alleMaschinenMaschinentypenUndFaehigkeitenSindResettetSodassNichtsVonIhnenAusDemBackgroundGilt()
    And folgende Liste von Fähigkeiten:                                                                                                                                              # RollenbelegungStepDefs.folgendeListeVonFaehigkeiten(FaehigkeitDAO>)
    And folgende Liste von MaschinenTypen:                                                                                                                                           # RollenbelegungStepDefs.folgendeListeVonMaschinenTypen(MaschinenTypTestDAO>)
    And folgende Liste von Maschinen:                                                                                                                                                # RollenbelegungStepDefs.folgendeListeVonMaschinen(MaschineDAO>)
    And folgende Kundenaufträge:                                                                                                                                                     # ProduktionsauftragStepDefs.folgendeKundenauftraege(String,String>>)
    And folgende Voranmeldungen:                                                                                                                                                     # WochenplanungStepDefs.folgendeVoranmeldungen(String,String>>)
    When die Planung für den Zeitraum 19.03.2018 - 19.03.2018 mit der Planungsstrategie "standardstrategie" mit einem Produktionssatz von 100% erstellt wird                         # WochenplanungStepDefs.diePlanungFuerDenZeitraumMitDerPlanungsstrategieMitEinemProduktionssatzErstelltWird(int,int,int,int,int,int,String,int)
    Then gibt es folgende Schichten:                                                                                                                                                 # WochenplanungStepDefs.gibtEsFolgendeSchichten(SchichtTestDAO>)
    And folgende Maschinentypen werden im BestCase erwartet:                                                                                                                         # WochenplanungStepDefs.folgendeMaschinentypenWerdenImSzenarioErwartet(String,MaschinenTypZuordnungTestDAO>)
    And folgende Maschinentypen werden im AverageCase erwartet:                                                                                                                      # WochenplanungStepDefs.folgendeMaschinentypenWerdenImSzenarioErwartet(String,MaschinenTypZuordnungTestDAO>)
    And folgende Maschinentypen werden im WorstCase erwartet:                                                                                                                        # WochenplanungStepDefs.folgendeMaschinentypenWerdenImSzenarioErwartet(String,MaschinenTypZuordnungTestDAO>)
    And Es bleiben keine Aufträge im BestCase, AverageCase und WorstCase übrig.                                                                                                      # WochenplanungStepDefs.esBleibenKeineAuftraegeImSzenarioUebrig(String)

  Background:                                                                              # features/Wochenplanung.feature:3
    And folgende Liste von Fähigkeiten:                                                    # RollenbelegungStepDefs.folgendeListeVonFaehigkeiten(FaehigkeitDAO>)
    And folgende Liste von MaschinenTypen:                                                 # RollenbelegungStepDefs.folgendeListeVonMaschinenTypen(MaschinenTypTestDAO>)
    And folgende Liste von Maschinen:                                                      # RollenbelegungStepDefs.folgendeListeVonMaschinen(MaschineDAO>)
    And die Schichtzeiten der Firma sehen wie folgt aus:                                   # WochenplanungStepDefs.dieSchichtzeitenDerFirmaSehenWieFolgtAus(DataTable)
    And der Eingangszeitpunkt sämtlicher Dokumentenklassen ist der 18.03.2018 um 22:30 Uhr # WochenplanungStepDefs.der_Eingangszeitpunkt_saemtlicher_Dokumentenklassen_ist_der_um_Uhr(int,int,int,int,int)

  Scenario: Es müssen die normale Aufträge, sowie die vorangemeldete Kundenaufträge in die Planung aufgenommen werden.                                       # features/Wochenplanung.feature:939
    Given alle Maschinen, Maschinentypen und Fähigkeiten sind resettet, sodass nichts von ihnen aus dem Background gilt.                                     # RollenbelegungStepDefs.alleMaschinenMaschinentypenUndFaehigkeitenSindResettetSodassNichtsVonIhnenAusDemBackgroundGilt()
    And der Eingangszeitpunkt sämtlicher Dokumentenklassen ist der 18.03.2018 um 22:30 Uhr                                                                   # WochenplanungStepDefs.der_Eingangszeitpunkt_saemtlicher_Dokumentenklassen_ist_der_um_Uhr(int,int,int,int,int)
    And folgende Liste von Fähigkeiten:                                                                                                                      # RollenbelegungStepDefs.folgendeListeVonFaehigkeiten(FaehigkeitDAO>)
    And folgende Liste von MaschinenTypen:                                                                                                                   # RollenbelegungStepDefs.folgendeListeVonMaschinenTypen(MaschinenTypTestDAO>)
    And folgende Liste von Maschinen:                                                                                                                        # RollenbelegungStepDefs.folgendeListeVonMaschinen(MaschineDAO>)
    And folgende Kundenaufträge:                                                                                                                             # ProduktionsauftragStepDefs.folgendeKundenauftraege(String,String>>)
    And folgende Voranmeldungen:                                                                                                                             # WochenplanungStepDefs.folgendeVoranmeldungen(String,String>>)
    When die Planung für den Zeitraum 19.03.2018 - 19.03.2018 mit der Planungsstrategie "standardstrategie" mit einem Produktionssatz von 100% erstellt wird # WochenplanungStepDefs.diePlanungFuerDenZeitraumMitDerPlanungsstrategieMitEinemProduktionssatzErstelltWird(int,int,int,int,int,int,String,int)
    Then gibt es folgende Schichten:                                                                                                                         # WochenplanungStepDefs.gibtEsFolgendeSchichten(SchichtTestDAO>)
    And folgende Maschinentypen werden im BestCase erwartet:                                                                                                 # WochenplanungStepDefs.folgendeMaschinentypenWerdenImSzenarioErwartet(String,MaschinenTypZuordnungTestDAO>)
    And folgende Maschinentypen werden im AverageCase erwartet:                                                                                              # WochenplanungStepDefs.folgendeMaschinentypenWerdenImSzenarioErwartet(String,MaschinenTypZuordnungTestDAO>)
    And folgende Maschinentypen werden im WorstCase erwartet:                                                                                                # WochenplanungStepDefs.folgendeMaschinentypenWerdenImSzenarioErwartet(String,MaschinenTypZuordnungTestDAO>)
    And Es bleiben keine Aufträge im BestCase, AverageCase und WorstCase übrig.                                                                              # WochenplanungStepDefs.esBleibenKeineAuftraegeImSzenarioUebrig(String)

  Background:                                                                              # features/Wochenplanung.feature:3
    And folgende Liste von Fähigkeiten:                                                    # RollenbelegungStepDefs.folgendeListeVonFaehigkeiten(FaehigkeitDAO>)
    And folgende Liste von MaschinenTypen:                                                 # RollenbelegungStepDefs.folgendeListeVonMaschinenTypen(MaschinenTypTestDAO>)
    And folgende Liste von Maschinen:                                                      # RollenbelegungStepDefs.folgendeListeVonMaschinen(MaschineDAO>)
    And die Schichtzeiten der Firma sehen wie folgt aus:                                   # WochenplanungStepDefs.dieSchichtzeitenDerFirmaSehenWieFolgtAus(DataTable)
    And der Eingangszeitpunkt sämtlicher Dokumentenklassen ist der 18.03.2018 um 22:30 Uhr # WochenplanungStepDefs.der_Eingangszeitpunkt_saemtlicher_Dokumentenklassen_ist_der_um_Uhr(int,int,int,int,int)

  Scenario: Planung sortiert nach Maschinengeschwindigkeiten mit Voraussichtlichen Dokumentenklassen                                                         # features/Wochenplanung.feature:984
    Given alle Maschinen, Maschinentypen und Fähigkeiten sind resettet, sodass nichts von ihnen aus dem Background gilt.                                     # RollenbelegungStepDefs.alleMaschinenMaschinentypenUndFaehigkeitenSindResettetSodassNichtsVonIhnenAusDemBackgroundGilt()
    And folgende Liste von Fähigkeiten:                                                                                                                      # RollenbelegungStepDefs.folgendeListeVonFaehigkeiten(FaehigkeitDAO>)
    And folgende Liste von MaschinenTypen:                                                                                                                   # RollenbelegungStepDefs.folgendeListeVonMaschinenTypen(MaschinenTypTestDAO>)
    And folgende Liste von Maschinen:                                                                                                                        # RollenbelegungStepDefs.folgendeListeVonMaschinen(MaschineDAO>)
    And folgende Kundenaufträge:                                                                                                                             # ProduktionsauftragStepDefs.folgendeKundenauftraege(String,String>>)
    And folgende Voranmeldungen:                                                                                                                             # WochenplanungStepDefs.folgendeVoranmeldungen(String,String>>)
    When die Planung für den Zeitraum 19.03.2018 - 19.03.2018 mit der Planungsstrategie "standardstrategie" mit einem Produktionssatz von 100% erstellt wird # WochenplanungStepDefs.diePlanungFuerDenZeitraumMitDerPlanungsstrategieMitEinemProduktionssatzErstelltWird(int,int,int,int,int,int,String,int)
    Then gibt es folgende Schichten:                                                                                                                         # WochenplanungStepDefs.gibtEsFolgendeSchichten(SchichtTestDAO>)
    And folgende Maschinentypen werden im BestCase erwartet:                                                                                                 # WochenplanungStepDefs.folgendeMaschinentypenWerdenImSzenarioErwartet(String,MaschinenTypZuordnungTestDAO>)
    And folgende Maschinentypen werden im AverageCase erwartet:                                                                                              # WochenplanungStepDefs.folgendeMaschinentypenWerdenImSzenarioErwartet(String,MaschinenTypZuordnungTestDAO>)
    And folgende Maschinentypen werden im WorstCase erwartet:                                                                                                # WochenplanungStepDefs.folgendeMaschinentypenWerdenImSzenarioErwartet(String,MaschinenTypZuordnungTestDAO>)
    And Es bleiben keine Aufträge im BestCase, AverageCase und WorstCase übrig.                                                                              # WochenplanungStepDefs.esBleibenKeineAuftraegeImSzenarioUebrig(String)

  Background:                                                                              # features/Wochenplanung.feature:3
    And folgende Liste von Fähigkeiten:                                                    # RollenbelegungStepDefs.folgendeListeVonFaehigkeiten(FaehigkeitDAO>)
    And folgende Liste von MaschinenTypen:                                                 # RollenbelegungStepDefs.folgendeListeVonMaschinenTypen(MaschinenTypTestDAO>)
    And folgende Liste von Maschinen:                                                      # RollenbelegungStepDefs.folgendeListeVonMaschinen(MaschineDAO>)
    And die Schichtzeiten der Firma sehen wie folgt aus:                                   # WochenplanungStepDefs.dieSchichtzeitenDerFirmaSehenWieFolgtAus(DataTable)
    And der Eingangszeitpunkt sämtlicher Dokumentenklassen ist der 18.03.2018 um 22:30 Uhr # WochenplanungStepDefs.der_Eingangszeitpunkt_saemtlicher_Dokumentenklassen_ist_der_um_Uhr(int,int,int,int,int)

  Scenario: Testfall zu einer Voraussichtlichen Dokumentenklasse, die in der Schicht verschoben wird und daher im Average- und Worst-Case unterschiedlich behandelt wird. # features/Wochenplanung.feature:1030
    Given alle Maschinen, Maschinentypen und Fähigkeiten sind resettet, sodass nichts von ihnen aus dem Background gilt.                                                  # RollenbelegungStepDefs.alleMaschinenMaschinentypenUndFaehigkeitenSindResettetSodassNichtsVonIhnenAusDemBackgroundGilt()
    And der Eingangszeitpunkt sämtlicher Dokumentenklassen ist der 18.03.2018 um 22:30 Uhr                                                                                # WochenplanungStepDefs.der_Eingangszeitpunkt_saemtlicher_Dokumentenklassen_ist_der_um_Uhr(int,int,int,int,int)
    And folgende Liste von Fähigkeiten:                                                                                                                                   # RollenbelegungStepDefs.folgendeListeVonFaehigkeiten(FaehigkeitDAO>)
    And folgende Liste von MaschinenTypen:                                                                                                                                # RollenbelegungStepDefs.folgendeListeVonMaschinenTypen(MaschinenTypTestDAO>)
    And folgende Liste von Maschinen:                                                                                                                                     # RollenbelegungStepDefs.folgendeListeVonMaschinen(MaschineDAO>)
    And folgende Kundenaufträge:                                                                                                                                          # ProduktionsauftragStepDefs.folgendeKundenauftraege(String,String>>)
    And folgende Voranmeldungen:                                                                                                                                          # WochenplanungStepDefs.folgendeVoranmeldungen(String,String>>)
    When die Planung für den Zeitraum 19.03.2018 - 19.03.2018 mit der Planungsstrategie "standardstrategie" mit einem Produktionssatz von 100% erstellt wird              # WochenplanungStepDefs.diePlanungFuerDenZeitraumMitDerPlanungsstrategieMitEinemProduktionssatzErstelltWird(int,int,int,int,int,int,String,int)
    Then gibt es folgende Schichten:                                                                                                                                      # WochenplanungStepDefs.gibtEsFolgendeSchichten(SchichtTestDAO>)
    And folgende Maschinentypen werden im BestCase erwartet:                                                                                                              # WochenplanungStepDefs.folgendeMaschinentypenWerdenImSzenarioErwartet(String,MaschinenTypZuordnungTestDAO>)
    And folgende Maschinentypen werden im AverageCase erwartet:                                                                                                           # WochenplanungStepDefs.folgendeMaschinentypenWerdenImSzenarioErwartet(String,MaschinenTypZuordnungTestDAO>)
    And folgende Maschinentypen werden im WorstCase erwartet:                                                                                                             # WochenplanungStepDefs.folgendeMaschinentypenWerdenImSzenarioErwartet(String,MaschinenTypZuordnungTestDAO>)
    And Es bleiben keine Aufträge im BestCase, AverageCase, WorstCase übrig.                                                                                              # WochenplanungStepDefs.esBleibenKeineAuftraegeImSzenarioUebrig(String)

  Background:                                                                              # features/Wochenplanung.feature:3
    And folgende Liste von Fähigkeiten:                                                    # RollenbelegungStepDefs.folgendeListeVonFaehigkeiten(FaehigkeitDAO>)
    And folgende Liste von MaschinenTypen:                                                 # RollenbelegungStepDefs.folgendeListeVonMaschinenTypen(MaschinenTypTestDAO>)
    And folgende Liste von Maschinen:                                                      # RollenbelegungStepDefs.folgendeListeVonMaschinen(MaschineDAO>)
    And die Schichtzeiten der Firma sehen wie folgt aus:                                   # WochenplanungStepDefs.dieSchichtzeitenDerFirmaSehenWieFolgtAus(DataTable)
    And der Eingangszeitpunkt sämtlicher Dokumentenklassen ist der 18.03.2018 um 22:30 Uhr # WochenplanungStepDefs.der_Eingangszeitpunkt_saemtlicher_Dokumentenklassen_ist_der_um_Uhr(int,int,int,int,int)

  Scenario: Voraussichtliche Dokumentenklasse, die in der Schicht verschoben wird und daher im WorstCase sogar unbearbeitet zurück kommt.                    # features/Wochenplanung.feature:1079
    Given alle Maschinen, Maschinentypen und Fähigkeiten sind resettet, sodass nichts von ihnen aus dem Background gilt.                                     # RollenbelegungStepDefs.alleMaschinenMaschinentypenUndFaehigkeitenSindResettetSodassNichtsVonIhnenAusDemBackgroundGilt()
    And der Eingangszeitpunkt sämtlicher Dokumentenklassen ist der 18.03.2018 um 22:30 Uhr                                                                   # WochenplanungStepDefs.der_Eingangszeitpunkt_saemtlicher_Dokumentenklassen_ist_der_um_Uhr(int,int,int,int,int)
    And folgende Liste von Fähigkeiten:                                                                                                                      # RollenbelegungStepDefs.folgendeListeVonFaehigkeiten(FaehigkeitDAO>)
    And folgende Liste von MaschinenTypen:                                                                                                                   # RollenbelegungStepDefs.folgendeListeVonMaschinenTypen(MaschinenTypTestDAO>)
    And folgende Liste von Maschinen:                                                                                                                        # RollenbelegungStepDefs.folgendeListeVonMaschinen(MaschineDAO>)
    And folgende Kundenaufträge:                                                                                                                             # ProduktionsauftragStepDefs.folgendeKundenauftraege(String,String>>)
    And folgende Voranmeldungen:                                                                                                                             # WochenplanungStepDefs.folgendeVoranmeldungen(String,String>>)
    When die Planung für den Zeitraum 19.03.2018 - 19.03.2018 mit der Planungsstrategie "standardstrategie" mit einem Produktionssatz von 100% erstellt wird # WochenplanungStepDefs.diePlanungFuerDenZeitraumMitDerPlanungsstrategieMitEinemProduktionssatzErstelltWird(int,int,int,int,int,int,String,int)
    Then gibt es folgende Schichten:                                                                                                                         # WochenplanungStepDefs.gibtEsFolgendeSchichten(SchichtTestDAO>)
    And folgende Maschinentypen werden im BestCase erwartet:                                                                                                 # WochenplanungStepDefs.folgendeMaschinentypenWerdenImSzenarioErwartet(String,MaschinenTypZuordnungTestDAO>)
    And folgende Maschinentypen werden im AverageCase erwartet:                                                                                              # WochenplanungStepDefs.folgendeMaschinentypenWerdenImSzenarioErwartet(String,MaschinenTypZuordnungTestDAO>)
    And folgende Maschinentypen werden im WorstCase erwartet:                                                                                                # WochenplanungStepDefs.folgendeMaschinentypenWerdenImSzenarioErwartet(String,MaschinenTypZuordnungTestDAO>)
    And Es bleiben keine Aufträge im BestCase und AverageCase übrig.                                                                                         # WochenplanungStepDefs.esBleibenKeineAuftraegeImSzenarioUebrig(String)
    And es bleiben folgende Aufträge im WorstCase übrig:                                                                                                     # WochenplanungStepDefs.esBleibenFolgendeAuftraegeImSzenarioUebrig(String,UebrigeAuftraegeTestDAO>)

  Background:                                                                              # features/Wochenplanung.feature:3
    And folgende Liste von Fähigkeiten:                                                    # RollenbelegungStepDefs.folgendeListeVonFaehigkeiten(FaehigkeitDAO>)
    And folgende Liste von MaschinenTypen:                                                 # RollenbelegungStepDefs.folgendeListeVonMaschinenTypen(MaschinenTypTestDAO>)
    And folgende Liste von Maschinen:                                                      # RollenbelegungStepDefs.folgendeListeVonMaschinen(MaschineDAO>)
    And die Schichtzeiten der Firma sehen wie folgt aus:                                   # WochenplanungStepDefs.dieSchichtzeitenDerFirmaSehenWieFolgtAus(DataTable)
    And der Eingangszeitpunkt sämtlicher Dokumentenklassen ist der 18.03.2018 um 22:30 Uhr # WochenplanungStepDefs.der_Eingangszeitpunkt_saemtlicher_Dokumentenklassen_ist_der_um_Uhr(int,int,int,int,int)

  Scenario: Mehrere Aufträge (normale und  voraussichtliche) müssen geplant werden. Prüfung: sortierung nach SLA.  Zu erwarten ist, dass erst die Aufträge mit frühesten SLA verarbeitet werden. # features/Wochenplanung.feature:1129
    Given alle Maschinen, Maschinentypen und Fähigkeiten sind resettet, sodass nichts von ihnen aus dem Background gilt.                                                                         # RollenbelegungStepDefs.alleMaschinenMaschinentypenUndFaehigkeitenSindResettetSodassNichtsVonIhnenAusDemBackgroundGilt()
    And der Eingangszeitpunkt sämtlicher Dokumentenklassen ist der 19.03.2018 um 00:00 Uhr                                                                                                       # WochenplanungStepDefs.der_Eingangszeitpunkt_saemtlicher_Dokumentenklassen_ist_der_um_Uhr(int,int,int,int,int)
    And folgende Liste von Fähigkeiten:                                                                                                                                                          # RollenbelegungStepDefs.folgendeListeVonFaehigkeiten(FaehigkeitDAO>)
    And folgende Liste von MaschinenTypen:                                                                                                                                                       # RollenbelegungStepDefs.folgendeListeVonMaschinenTypen(MaschinenTypTestDAO>)
    And folgende Liste von Maschinen:                                                                                                                                                            # RollenbelegungStepDefs.folgendeListeVonMaschinen(MaschineDAO>)
    And folgende Kundenaufträge:                                                                                                                                                                 # ProduktionsauftragStepDefs.folgendeKundenauftraege(String,String>>)
    And folgende Voranmeldungen:                                                                                                                                                                 # WochenplanungStepDefs.folgendeVoranmeldungen(String,String>>)
    When die Planung für den Zeitraum 19.03.2018 - 19.03.2018 mit der Planungsstrategie "standardstrategie" mit einem Produktionssatz von 100% erstellt wird                                     # WochenplanungStepDefs.diePlanungFuerDenZeitraumMitDerPlanungsstrategieMitEinemProduktionssatzErstelltWird(int,int,int,int,int,int,String,int)
    Then gibt es folgende Schichten:                                                                                                                                                             # WochenplanungStepDefs.gibtEsFolgendeSchichten(SchichtTestDAO>)
    And folgende Maschinentypen werden im BestCase erwartet:                                                                                                                                     # WochenplanungStepDefs.folgendeMaschinentypenWerdenImSzenarioErwartet(String,MaschinenTypZuordnungTestDAO>)
    And folgende Maschinentypen werden im AverageCase erwartet:                                                                                                                                  # WochenplanungStepDefs.folgendeMaschinentypenWerdenImSzenarioErwartet(String,MaschinenTypZuordnungTestDAO>)
    And folgende Maschinentypen werden im WorstCase erwartet:                                                                                                                                    # WochenplanungStepDefs.folgendeMaschinentypenWerdenImSzenarioErwartet(String,MaschinenTypZuordnungTestDAO>)
    And Es bleiben keine Aufträge im BestCase, AverageCase und WorstCase übrig.                                                                                                                  # WochenplanungStepDefs.esBleibenKeineAuftraegeImSzenarioUebrig(String)

  Background:                                                                              # features/Wochenplanung.feature:3
    And folgende Liste von Fähigkeiten:                                                    # RollenbelegungStepDefs.folgendeListeVonFaehigkeiten(FaehigkeitDAO>)
    And folgende Liste von MaschinenTypen:                                                 # RollenbelegungStepDefs.folgendeListeVonMaschinenTypen(MaschinenTypTestDAO>)
    And folgende Liste von Maschinen:                                                      # RollenbelegungStepDefs.folgendeListeVonMaschinen(MaschineDAO>)
    And die Schichtzeiten der Firma sehen wie folgt aus:                                   # WochenplanungStepDefs.dieSchichtzeitenDerFirmaSehenWieFolgtAus(DataTable)
    And der Eingangszeitpunkt sämtlicher Dokumentenklassen ist der 18.03.2018 um 22:30 Uhr # WochenplanungStepDefs.der_Eingangszeitpunkt_saemtlicher_Dokumentenklassen_ist_der_um_Uhr(int,int,int,int,int)

  Scenario: Mehrere Aufträge (normale und  voraussichtliche) müssen geplant werden. Prüfung: sortierung nach SLA.  Zu erwarten ist, dass erst die Aufträge mit frühesten SLA verarbeitet werden. Gleiche Scenario, als der Testfall oben. # features/Wochenplanung.feature:1177
    Given alle Maschinen, Maschinentypen und Fähigkeiten sind resettet, sodass nichts von ihnen aus dem Background gilt.                                                                                                                  # RollenbelegungStepDefs.alleMaschinenMaschinentypenUndFaehigkeitenSindResettetSodassNichtsVonIhnenAusDemBackgroundGilt()
    And der Eingangszeitpunkt sämtlicher Dokumentenklassen ist der 19.03.2018 um 00:00 Uhr                                                                                                                                                # WochenplanungStepDefs.der_Eingangszeitpunkt_saemtlicher_Dokumentenklassen_ist_der_um_Uhr(int,int,int,int,int)
    And folgende Liste von Fähigkeiten:                                                                                                                                                                                                   # RollenbelegungStepDefs.folgendeListeVonFaehigkeiten(FaehigkeitDAO>)
    And folgende Liste von MaschinenTypen:                                                                                                                                                                                                # RollenbelegungStepDefs.folgendeListeVonMaschinenTypen(MaschinenTypTestDAO>)
    And folgende Liste von Maschinen:                                                                                                                                                                                                     # RollenbelegungStepDefs.folgendeListeVonMaschinen(MaschineDAO>)
    And folgende Kundenaufträge:                                                                                                                                                                                                          # ProduktionsauftragStepDefs.folgendeKundenauftraege(String,String>>)
    And folgende Voranmeldungen:                                                                                                                                                                                                          # WochenplanungStepDefs.folgendeVoranmeldungen(String,String>>)
    When die Planung für den Zeitraum 19.03.2018 - 23.03.2018 mit der Planungsstrategie "standardstrategie" mit einem Produktionssatz von 100% erstellt wird                                                                              # WochenplanungStepDefs.diePlanungFuerDenZeitraumMitDerPlanungsstrategieMitEinemProduktionssatzErstelltWird(int,int,int,int,int,int,String,int)
    Then gibt es folgende Schichten:                                                                                                                                                                                                      # WochenplanungStepDefs.gibtEsFolgendeSchichten(SchichtTestDAO>)
    And folgende Maschinentypen werden im BestCase erwartet:                                                                                                                                                                              # WochenplanungStepDefs.folgendeMaschinentypenWerdenImSzenarioErwartet(String,MaschinenTypZuordnungTestDAO>)
    And folgende Maschinentypen werden im AverageCase erwartet:                                                                                                                                                                           # WochenplanungStepDefs.folgendeMaschinentypenWerdenImSzenarioErwartet(String,MaschinenTypZuordnungTestDAO>)
    And folgende Maschinentypen werden im WorstCase erwartet:                                                                                                                                                                             # WochenplanungStepDefs.folgendeMaschinentypenWerdenImSzenarioErwartet(String,MaschinenTypZuordnungTestDAO>)
    And Es bleiben keine Aufträge im BestCase, AverageCase und WorstCase übrig.                                                                                                                                                           # WochenplanungStepDefs.esBleibenKeineAuftraegeImSzenarioUebrig(String)

161 Scenarios (161 passed)
1674 Steps (1674 passed)
0m6.115s

[INFO] Tests run: 161, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 6.967 s - in features.RunCucumberTests
[INFO] Running servicekommandos.WochenplanungKommandosTest
[INFO] Tests run: 1, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.035 s - in servicekommandos.WochenplanungKommandosTest
[INFO] Running servicekommandos.MaschinenRollenbelegungsKommandosTest
[INFO] Tests run: 2, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.005 s - in servicekommandos.MaschinenRollenbelegungsKommandosTest
[INFO] Running servicekommandos.ProduktionsAuftragServiceKommandosTest
[INFO] Tests run: 1, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.004 s - in servicekommandos.ProduktionsAuftragServiceKommandosTest
[INFO] Running servicekommandos.TagesplanungKommandosTest
[INFO] Tests run: 3, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.045 s - in servicekommandos.TagesplanungKommandosTest
[INFO] Running servicekommandos.SimulationsKommandosTest
[INFO] Tests run: 3, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.021 s - in servicekommandos.SimulationsKommandosTest
[INFO] Running produktionsauftrag.ProduktionsauftragTest
[INFO] Tests run: 1, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0 s - in produktionsauftrag.ProduktionsauftragTest
[INFO] Running tagesplanung.SimulationsErgebnisVergleichTest
[INFO] Tests run: 5, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.001 s - in tagesplanung.SimulationsErgebnisVergleichTest
[INFO] Running tagesplanung.ParameterVariationTest
[INFO] Tests run: 3, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.011 s - in tagesplanung.ParameterVariationTest
[INFO] Running tagesplanung.TagesplanungTest
[INFO] Tests run: 8, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.067 s - in tagesplanung.TagesplanungTest
[INFO] Running rollenbelegung.ProduktionsplanerTest
eine unbekannte Variable wurde kreiert: [BlattAnzahl,200]
[INFO] Tests run: 1, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0 s - in rollenbelegung.ProduktionsplanerTest
[INFO] 
[INFO] Results:
[INFO] 
[INFO] Tests run: 200, Failures: 0, Errors: 0, Skipped: 0
[INFO] 
[JENKINS] Recording test results
[INFO] 
[INFO] --- jacoco-maven-plugin:0.7.9:report (jacoco-site) @ service ---
[INFO] Loading execution data file /var/lib/jenkins/home/jobs/ippps18/workspace/ippps18/service/target/jacoco.exec
[INFO] Analyzed bundle 'service' with 70 classes
[INFO] 
[INFO] --- maven-jar-plugin:2.4:jar (default-jar) @ service ---
[INFO] Building jar: /var/lib/jenkins/home/jobs/ippps18/workspace/ippps18/service/target/service-0.0.1-SNAPSHOT.jar
[INFO] 
[INFO] --- maven-install-plugin:2.4:install (default-install) @ service ---
[INFO] Installing /var/lib/jenkins/home/jobs/ippps18/workspace/ippps18/service/target/service-0.0.1-SNAPSHOT.jar to /var/lib/jenkins/.m2/repository/de/fhdw/ippps18/service/0.0.1-SNAPSHOT/service-0.0.1-SNAPSHOT.jar
[INFO] Installing /var/lib/jenkins/home/jobs/ippps18/workspace/ippps18/service/pom.xml to /var/lib/jenkins/.m2/repository/de/fhdw/ippps18/service/0.0.1-SNAPSHOT/service-0.0.1-SNAPSHOT.pom
[INFO] 
[INFO] --- maven-site-plugin:3.3:site (default-site) @ service ---
[INFO] configuring report plugin org.apache.maven.plugins:maven-project-info-reports-plugin:2.9
[INFO] configuring report plugin org.apache.maven.plugins:maven-site-plugin:3.4
[INFO] configuring report plugin org.apache.maven.plugins:maven-checkstyle-plugin:2.17
[INFO] configuring report plugin org.codehaus.mojo:findbugs-maven-plugin:3.0.5
[INFO] Fork Value is true
     [java] WARNING: An illegal reflective access operation has occurred
     [java] WARNING: Illegal reflective access by org.dom4j.io.SAXContentHandler (file:/var/lib/jenkins/.m2/repository/dom4j/dom4j/1.6.1/dom4j-1.6.1.jar) to method com.sun.org.apache.xerces.internal.parsers.AbstractSAXParser$LocatorProxy.getEncoding()
     [java] WARNING: Please consider reporting this to the maintainers of org.dom4j.io.SAXContentHandler
     [java] WARNING: Use --illegal-access=warn to enable warnings of further illegal reflective access operations
     [java] WARNING: All illegal access operations will be denied in a future release
     [java] The following classes needed for analysis were missing:
     [java]   java.lang.Object
     [java]   java.lang.Comparable
     [java]   java.lang.Exception
     [java]   java.lang.RuntimeException
     [java]   java.lang.Enum
     [java]   java.util.Comparator
     [java]   java.util.LinkedList
     [java]   java.util.Optional
     [java]   java.lang.Boolean
     [java]   java.lang.Integer
     [java]   java.lang.String
     [java]   java.util.Arrays
     [java]   java.util.stream.Stream
     [java]   java.util.stream.Collectors
     [java]   java.util.List
     [java]   java.lang.StringBuilder
     [java]   java.util.Map
     [java]   java.util.Collection
     [java]   java.util.Set
     [java]   java.util.ArrayList
     [java]   java.util.Iterator
     [java]   java.lang.Double
     [java]   java.time.LocalDateTime
     [java]   java.util.stream.IntStream
     [java]   java.util.concurrent.CompletableFuture
     [java]   java.util.HashMap
     [java]   java.util.Map$Entry
     [java]   java.time.LocalTime
     [java]   java.util.HashSet
     [java]   java.util.Collections
     [java]   java.util.EnumSet
     [java]   java.time.LocalDate
     [java]   java.util.LinkedHashSet
     [java]   java.util.function.Function
     [java]   java.util.function.BinaryOperator
     [java]   java.lang.Class
     [java]   java.util.Objects
     [java]   java.io.PrintStream
     [java]   java.util.regex.Pattern
     [java]   java.util.regex.Matcher
     [java]   java.time.ZoneOffset
     [java]   java.lang.Math
     [java]   java.lang.Number
     [java]   java.time.temporal.ChronoUnit
     [java]   java.lang.Long
     [java]   java.time.format.DateTimeFormatter
     [java]   java.util.AbstractMap$SimpleEntry
     [java]   java.lang.AssertionError
     [java]   java.util.LinkedHashMap
     [java]   java.lang.UnsupportedOperationException
     [java]   java.lang.NoSuchFieldError
     [java]   java.io.Serializable
     [java]   java.lang.invoke.LambdaMetafactory
     [java]   java.lang.invoke.MethodHandles$Lookup
     [java]   java.lang.invoke.MethodHandles
     [java]   java.lang.NoClassDefFoundError
     [java]   java.lang.UnsatisfiedLinkError
     [java]   java.lang.IllegalAccessError
     [java]   java.lang.NoSuchMethodError
     [java]   java.lang.IncompatibleClassChangeError
     [java]   java.lang.AbstractMethodError
     [java]   java.time.temporal.TemporalUnit
     [java]   java.time.format.DateTimeParseException
     [java]   java.text.Format
     [java]   java.lang.ArrayIndexOutOfBoundsException
     [java]   java.lang.Error
     [java]   java.lang.Runnable
     [java]   java.util.AbstractMap
     [java]   java.lang.InterruptedException
     [java]   java.time.DayOfWeek
     [java]   java.util.concurrent.ExecutionException
     [java]   java.lang.System
     [java]   java.lang.ClassFormatError
     [java]   java.lang.VerifyError
     [java]   java.lang.ExceptionInInitializerError
     [java]   java.lang.ClassCastException
     [java] Missing classes: 58
[INFO] Done FindBugs Analysis....
[WARNING] No project URL defined - decoration links will not be relativized!
[INFO] Rendering site with org.apache.maven.skins:maven-default-skin:jar:1.0 skin.
[INFO] Skipped "Checkstyle" report, file "checkstyle.html" already exists for the English version.
[INFO] Generating "Dependencies" report    --- maven-project-info-reports-plugin:2.9
[WARNING] The repository url 'http://localhost:8083/nexus/content/groups/public' is invalid - Repository 'public' will be blacklisted.
[INFO] Generating "Dependency Convergence" report    --- maven-project-info-reports-plugin:2.9
[INFO] Generating "Dependency Information" report    --- maven-project-info-reports-plugin:2.9
[INFO] Generating "About" report    --- maven-project-info-reports-plugin:2.9
[INFO] Generating "Plugin Management" report    --- maven-project-info-reports-plugin:2.9
[INFO] Generating "Plugins" report    --- maven-project-info-reports-plugin:2.9
[INFO] Generating "Summary" report    --- maven-project-info-reports-plugin:2.9
[INFO] Generating "Checkstyle" report    --- maven-checkstyle-plugin:2.17
[WARNING] Unable to locate Source XRef to link to - DISABLED
[INFO] Generating "FindBugs" report    --- findbugs-maven-plugin:3.0.5
[JENKINS] Archiving site from /var/lib/jenkins/home/jobs/ippps18/workspace/ippps18/service/target/site to /var/lib/jenkins/home/jobs/ippps18/workspace/ippps18/service@tmp/maven-reporters/moduleset/site/service