- Architecture MVVM (Model View ViewModel)
LiveData(en particulierMediatorLiveData)- Utilisation d'un
Fragmentcomme vue (TaskFragment) - Utilisation d'une
DialogFragmentcustomisée (AddTaskDialogFragment) RecyclerView(et sonListAdapter/DiffItemCallback)- Dialogue entre un
Adapteret sonFragment(via l'interfaceTaskListener) - Tri de données via input utilisateur dans le
TaskViewModel - Utilisation d'un Dao pour persister les différents
Taskgrâce à une base de données (TaskDao) - Enums (
TaskSortingType) - Singleton (
ViewModelFactory) - Tests unitaires (TU) avec des
LiveDataetViewModels(grâce àMockito) - Code Coverage à 97% (
JaCoCo) - Tests d'intégration poussés avec
Espresso(tests UI et tests de base de données)
./gradlew jacocoTestReport pour générer le rapport de coverage des tests unitaires
./gradlew connectedAndroidTest pour lancer les tests d'intégration (avec un émulateur / device USB déjà lancé)
