- Simple dependency injection
- Event-driven program execution
- State dependence in applications
- Mapping the model-view-adapter architecture to Android (and the command-line)
- Android application life cycle management (including rotation and back button)
- Playing a notification sound in Android
- Adapter pattern (wrapper, as opposed to the adapter in MVA)
- Dependency inversion principle (DIP)
- Automated unit and integration testing with JUnit
- Testcase Superclass pattern for xUnit testing
- Automated system testing by interacting with the GUI
- Automated GUI testing in Android
Check out the project using IntelliJ IDEA - this creates the local.properties file with the required line:
sdk.dir=<root folder of Android Studio's Android SDK installation>
In IntelliJ: Run > Run app
In IntelliJ IDEA in the Android view under app => java, right-click on edu.luc.etl.cs313 (test), then choose Run Tests in ...
You can also use Gradle in a Terminal window:
$ ./gradlew testDebug
You can view the resulting test reports in HTML by opening this file in your browser:
app/build/reports/tests/testDebugUnitTest/index.html
In IntelliJ IDEA in the Android view under app => java, right-click on edu.luc.etl.cs313... (androidTest), then choose Run Tests in 'edu.luc.etc...'
You can also use Gradle in a Terminal window:
$ ./gradlew connectedDebugAndroidTest