2.6 KiB
MODIFIED Requirements
Requirement: Steuerelemente mit Listeninhalt
ListBox und ComboBox SHALL ADDITEM und REMOVEITEM unterstützen und
List, ListCount, ListIndex und Text konsistent führen; bei
Sorted = -1 SHALL die Einfügereihenfolge der Sortierung folgen.
ListIndex = -1 SHALL „keine Auswahl" bedeuten. Die ComboBox SHALL die
drei Stilarten (Dropdown, Simple, Dropdown List) darstellen.
Eine Zuweisung von ListIndex = -1 SHALL in leerer wie gefüllter Liste zulässig sein. Einfügen vor der Auswahl SHALL ihren Index verschieben, Entfernen der Auswahl SHALL sie aufheben. Eine ListBox ohne Auswahl SHALL Text als leeren String liefern; editierbare ComboBox-Stile SHALL ihren unabhängigen Eingabetext erhalten.
Scenario: Element hinzufügen
- WHEN
List1.ADDITEM "b"undList1.ADDITEM "a"beiSorted = -1ausgeführt werden - THEN liefert
List1.List(0)den WertaundList1.ListCountden Wert 2
Scenario: Keine Auswahl
- WHEN eine ListBox ohne Auswahl gelesen wird
- THEN liefert
ListIndexden Wert −1
Scenario: Auswahl ausdrücklich aufheben
- WHEN nach ADDITEM die Eigenschaft ListIndex auf -1 gesetzt wird
- THEN tritt kein Fehler auf und ListIndex ist -1
Scenario: Eintrag vor Auswahl einfügen
- WHEN vor einem ausgewählten Eintrag ein Element eingefügt wird
- THEN bleibt derselbe Eintrag ausgewählt und sein Index steigt um 1
Requirement: Timer-Steuerelement
Ein Timer SHALL bei Enabled = -1 und Interval > 0 sein
Timer-Ereignis im eingestellten Abstand auslösen, gestützt auf die
Zeitquelle der Ereignissteuerung. Interval = 0 SHALL ihn abschalten.
Sind mehrere Timer gleichzeitig fällig, SHALL die Reihenfolge festgelegt
und dokumentiert sein.
Die erste Frist SHALL ab dem Einschalten beziehungsweise neu gesetzten Intervall zählen. Zeit vor der Aktivierung MUST NOT nachgeholt werden. Deaktivierung oder Interval = 0 SHALL noch anstehende Timerereignisse verwerfen.
Scenario: Timer feuert im Abstand
- WHEN ein Timer mit
Interval = 100läuft und die Zeit um 250 ms vorrückt - THEN ist sein Ereignis zweimal gelaufen
Scenario: Interval 0 schaltet ab
- WHEN
Timer1.Interval = 0gesetzt wird - THEN läuft kein weiteres Ereignis
Scenario: Späte Aktivierung
- WHEN bei Hostzeit 1000 ms ein zuvor inaktiver Timer mit Interval 100 eingeschaltet wird
- THEN läuft bis 1099 ms kein Timerereignis und bei 1100 ms genau eines
Scenario: Abschalten verwirft anstehende Ereignisse
- WHEN Timerereignisse anstehen und vor ihrer Zustellung Interval auf 0 gesetzt wird
- THEN werden sie nicht mehr zugestellt