- 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 Android Studio. If AS asks you if you want to create the project,
say No and then Open the project from the directory where it was downloaded. This creates
the local.properties
file with the required line:
sdk.dir=<root folder of Android Studio's Android SDK installation>
In Android Studio: Run > Run app
In Android Studio:
In Android Studio, use Tools > SDK Manager
to install Android 6.0 (API level 23) for the Robolectric tests to work (skip this step if API level 23 is already installed).
Then, in the Android view, right-click on edu.luc.etl.cs313...test (test)
and choose Run 'Tests in 'test''
.
You can also use Gradle in a Terminal window:
$ ./gradlew testDebug # leave out "./" on the Windows command line
You can view the resulting test reports in HTML by opening this file in your browser:
app/build/reports/tests/testDebugUnitTest/index.html
In Gradle:
$ ./gradlew jacocoTestDebugUnitTestReport # leave out "./" on the Windows command line
You can view the resulting test reports in HTML by opening this file in your browser:
app/build/reports/jacoco/jacocoTestDebugUnitTestReport/html/index.html
In Android Studio:
- In the Android view, right-click on
edu.luc.etl.cs313... (androidTest)
, then chooseRun 'Tests in 'edu.luc.et...'
You can also use Gradle in a Terminal window:
$ ./gradlew connectedDebugAndroidTest # leave out "./" on the Windows command line