Stub Implementierungen nun über Moq.
"MainWindowUIDummy" erlaubt nun das Instanziieren der Oberfläche ohne Logik untendrunter. Sehr nützlich wenn der Designer alleine nicht aussagekräftig genug ist.
INFO: MVVM Model

-------------------------------

Um Test auf Business Ebene besser kontrollieren zu können, mache ich hier einen Hybrid zwischen MVVM und MVC Model:
* Die WPF XAMLs sind möglichst in sich geschlossen. Alles was sie benötigen wird über den DataContext als Controller injiziert.
* Alle Logik die nur Konsequenzen für die Visualisierung haben, aber keinerlei Daten ändern, verbleiben in den Events des jeweiligen WPF Controls
* Alle sonstigen Ereignisse zeigen auf den Controller
* Der Controller steuert alle Operationen zum verarbeiten und speichern von Daten

Der Auslöser für das Redesign war ein Bug der sich nur mit mehreren GUIs nachvollziehen ließ. Um das testbar zu machen, musste die GUI deutlich schlanker werden. Mit der Aufteilung lassen sich gleich mehrere Ziele erreichen:

* Um die GUI auszutesten, muss man sich jetzt nicht durch unzählige Aktionen durchklicken. Die Oberfläche kann der Dummy Controller instanziiert werden. Leider bietet MSTest kein Explicit an, solche Tests um die GUI anschauen zu können stehen deshalb auf "Ignore".
* Den Controller aus den Tests heraus zu instanziieren um vollständige Integrationstests fahren zu können, ist jetzt ohne Nebenwirkungen machbar.

Beim refactoring fiel dann auch auf, dass fast nur Integrationstests existieren. Die Klassen wurden stärker entkoppelt, und so haben wir jetzt einen Mix aus Modultests, Integrationstests und UI Attrappen.

Signed-off-by: Marius Goppelt <MGoppelt@outlook.com>
Die MVVM Trennung hat einige Design Fehler offen gelegt. Zwei weitere Dialoge wurden vom Controller in die View verlagert, somit sind auch high-level Tests möglich ohne dass irgendwelche Dialoge auftauchen.

Der erste Test versucht einen Bug zu verifizieren der beim verwerfen einer Runde in zwei getrennten Competitions aufgetreten ist. Außerdem wurden unsaubere semantische Prüfungen in der Competition behoben, und das Bearbeiten Menü entfernt, da es offenbar keine Verwendung findet.

Signed-off-by: Marius Goppelt <MGoppelt@outlook.com>