A mini-app built using the principles of TDD.
A string value such as "aabccdeccabbbe" will be parsed and the number of possible groups of 5 students is returned. Each student in each group must have a unique skill to the other students in the group. i.e. the previous string will return 2 for the number of possible groups.
The allowed values for 'skills' are = "a", "b", "c", "d" or "e".
The app was build using TDD (Test Driven Development) and red/green refactoring (see Unit Tests). The Mockito library was used to create Mock objects for dependency injection.
A 'Domain' test (sometimes called a 'Component' test) has also been created. If an API had been created an Integration test would also be appropriate.
Please run the tests or the GrouperApp to see everything working.
If I had more time: Even though this is a very simple app, SOLID principles need to be refactored in. Using Interfaces to manage dependency injection into objects would be applied if this was a larger app also.