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.