The app is built to meet the following requirements.
- Users have animals
- Petting animals makes them happy
- Feeing animals makes them less hungry
- Animals start "neutral" on both metrics
- Happiness decreases over time / hunger increases over time
- Users can own multiple animals of different types
- Different animal types have metrics which increase/decrease at different rates
The application runs in memory with the absense of any data persistance.
The sample code can be exercised by running by both the integration tests and unit tests.