# Die folgenden Tests wurden von Kevin Kusche und Lukas Henssler am 25.07.2021 bei Wizard durchgeführt:
## Spiellogik
* Die einzelnen Interaktion funktionieren wie erwartet:
* Erwartete Resultate:
* Die Angabe der Stiche soll nur legale Eingaben annehmen: [0, #round]
* Der Spieler kann eine Karte aus seinen Handkarten anklicken. Die Karte soll dann aus dem Handstapel entfernt werden und in der Mitte (im Stich) auftauchen.
* Es können nur legale Karten gespielt werden
* Der next-Button soll bei Ende einer Runde in die nächste Runde führen, bei Ende eines Stichs (nicht letzter Stich) soll er die nächste Stichrund eröffnen, wenn die Runde noch nicht beendet ist, soll nichts passieren
* Nach einem Stich beginnt als nächstes der Spieler, der den vorherigen Stich gewonnen hat
* Nach einer Runde beginnt der Spieler mit der Vorhersage der Stiche, der als nächstes an der Reihe ist
* Am Anfang einer Runde wird ein neuer Trumpf aufgedeckt, neue Handkarten verteilt und der Stich geleert
* Tatsächliche Resultate:
* Bei Eingabe einer illegalen Anzahl, passiert nichts und es wird auf eine neue Eingabe gewartet -> passt
* Stimmt mit den Erwartungen überein
* Bei Auswahl einer illegalen Karte wird diese nicht gespielt und es wird auf eine neue Auswahl gewartet -> passt
* Stimmt mit den Erwartungen überein
* Stimmt mit den Erwartungen überein
* Stimmt mit den Erwartungen überein
* Stimmt mit den Erwartungen überein
* Tabelle
* Erwartete Resultate:
* Die Tabelle beinhaltet eine Spalte pro Spieler und 4 Zeilen, eine für die Namen, eine für die Punkte, eine für die Anzahl der vorhergesagten Stiche und eine für die Anzahl der bisher gemachten Stiche
* Nach der Vorhersage jedes Spielers wird dessen angesagter Wert in das entsprechende Feld der Tabelle eingetragen
* Nach einem Stich wird die Anzahl der gemachten Stiche des Siegers um 1 erhöht
* Nach einer Runde werden die Punkte jedes Spielers korrekt angepasst
* Am Anfang einer Runde werden die momentanen Stiche auf 0 gesetzt und die Felder für die vorhergesagten Stiche geleert
* Tatsächliche Resultate:
* Stimmt mit den Erwartungen überein
* Stimmt mit den Erwartungen überein
* Stimmt mit den Erwartungen überein
* Stimmt mit den Erwartungen überein
* Stimmt mit den Erwartungen überein
* Sonstige Gui Elemente
* Erwartete Resultate:
* Oben links wird angezeigt, in welcher Runde man sich im Moment befindet
* Oben in der Mitte befindet sich die Tabelle
* Oben rechts wird der Trumpf für die momentane Runde angezeigt
* In der Mitte befinden sich die Karten, die momentan im Stich liegen. Unter jeder Karte steht der Name des Spielers, der sie gelegt hat
* In der Mitte rechts befindet sich der next Button
* Unten werden die Handkarten des menschlichen Spielers angezeigt
* Oben links befindet sich ein Button für das Save Menu, mit dem das Spiel gespeichert oder beendet werden kann
* Tatsächliche Resultate:
* Stimmt mit den Erwartungen überein
* Stimmt mit den Erwartungen überein
* Stimmt mit den Erwartungen überein
* Stimmt mit den Erwartungen überein
* Stimmt mit den Erwartungen überein
* Stimmt mit den Erwartungen überein
* Stimmt mit den Erwartungen überein
* Sonderfälle
* Erwartete Resultate:
* Wenn ein Narr als Trumpf aufgedeckt wird, gibt es in dieser Runde keinen Trumpf und der Sieger eines Stichs wird entsprechend bestimmt
* Wenn ein Zauberer als Trumpf aufgedeckt wird, darf der Kartengeber eine Trumpffarbe auswählen
* Tatsächliche Resultate:
* Stimmt mit den Erwartungen überein
* Die AI wählt einen zufälligen Trumpf aus, der menschliche Spieler erhält die Möglicheit, sich eine Farbe auszusuchen. Die entsprechende Farbe wird durch eine Karte mit Wert 0 im Trumpf angezeigt -> passt
* AI
* Erwartete Resultate:
* Die AI sagt eine sinnvolle Anzahl von Stichen vorher
* Die AI spielt nur legale Karten
* Die AI wählt die zu spielende Karte sinnvoll aus
* Tatsächliche Resultate:
* Stimmt mit den Erwartungen überein
* Stimmt mit den Erwartungen überein
* Stimmt mit den Erwartungen überein
* Spielende
* Erwartete Resultate
* Wird die letzte Runde beendet, dann werden die finalen Punkte nach Betätigung des next-Buttons in der Tabelle für jeden Spieler angezeigt
* Es erscheint ein Dialog, in dem der Gewinner(-name) und dessen Punktzahl steht
* Anschließend kann das Spiel neugestartet oder beendet werden
* Tatsächliche Resultate:
* Stimmt mit den Erwartungen überein
* Stimmt mit den Erwartungen überein
* Stimmt mit den Erwartungen überein
## Menü
* Alle Buttons erfüllen die zu erwartende Funktion
* Erwartete Resultate:
* "Start the game" öffnet das Fenster zur Auswahl der Spieleranzahl, nur legale Eingaben [3,6] sind zulässing. Bei Bestätigung wird das Spiel gestartet.
* "See statistics" öffnet ein Fenster in dem eine Tabelle mit allen geladenen Einträgen der Highscores ist. Mit dem Slider lässt sich die Spieleranzahl ändern. Die Tabelle ist standardmäßig nach Datum sortiert. Mit dem Button "Sort according to your Points" lässt sich die Tabelle nach den Punkten des menschlichen Spielers sortieren. Wenn noch keine Highscores vorhanden sind oder die Datei, in der die Statistiken gespeichert wurden, fehlt, dann stürzt das Programm nicht ab.
* "load predefined state" öffnet einen geladenen Spielzustand. Das Spielen ist wie in "Start the game" möglich. Wenn kein Spielezustand gespeichert ist, stürzt das Spiel nicht ab.
* Tatsächliche Resultate:
* Stimmt mit den Erwartungen überein
* Stimmt mit den Erwartungen überein
* Stimmt mit den Erwartungen überein