Since Android is our only chosen framework and databases are not used for Tower-Defense, CRUD is not applicable for our project.
Android itself provides a simple use of CRUD-technologies though.
MVC - Diagram
In this week, we worked on subdividing our class diagram into Model-, View- and Controller-sections in order to match the MVC model.
The subdivision happened using plantUML again which provides a functionality to colorize classes. We decided on orange for model, blue for view and green for controller.
For this purpose, a SAD (Software Architecture Document) has been created and written which can be found here.
According to the basic Android-MVC-model, we subdivided our classes as following.
Automatic UI Testing - Feature Files, Cucumber & Espresso
After many hours of researching and testing, we finally got UI-tests using Gherkin Feature Files, Espresso, Cucumber and GreenCoffee running.
Because Android is our used framework, we installed plugins called "Cucumber for Java" and "Gherkin" in order to keep UI-tests as simple as possible. Sadly, UI-tests could not be set up using this simple configuration, because several errors (java.lang.IllegalStateException: No instrumentation registered! Must run under a registering instrumentation & cucumber.runtime.CucumberException: Failed to instantiate class & java.lang.NoClassDefFoundError: gherkin/formatter/Formatter Caused by: java.lang.ClassNotFoundException: gherkin.formatter.Formatter) occured.
Probably, those issues are related to new android libraries which do not interact well with cucumber anymore.
In the blog entry of week 5, working with those libraries is described in more detail (including a demo video).