Here is a quick demo of the test app,
This test iOS application is developed using the concepts of,
- MVVM Design Pattern
- Object Oriented Programming
- SOLID Principals
The implemented solution has been designed and implemented with system design features such as,
- Single responsibility principal
- Dependency injection based entities creation and application workflow
- Loosely coupled entities and application workflows
- Easy to extend entities and workflows
- Reusable entities
- Testability
The core entities (View models, services, models, etc) and workflows have been tested with Unit Tests using the TDD approach. These are the unit test cases,
- CleanerListViewModelTests
- CalendarViewModelTests
- NetworkDataServiceTests
- FileDataServiceTests
- CalendarServiceTests
- DistanceCalculatorTests
Here is how the unit tests look,