A robust C# application adhering to SOLID principles and developed with the TDD approach. This solution allows companies to manage their employee roster, recording daily worked hours and computing monthly salaries.
Key features include:
- Ability to add and remove employees, as well as re-add previous employees.
- Daily work hour logs for each employee.
- Monthly salary calculation based on logged hours.
- Comprehensive error handling with distinct exceptions for different scenarios.
- Emphasis on OOP design patterns to ensure scalability and maintainability.
- Ensured code immutability by restricting modifications to provided code.
- Well-structured unit tests, ensuring the reliability and correctness of each functionality.