Finding corner cases
You have been asked to assess three competing vendors for an outsourcing contract. Each has provided a code sample for 'Yatzy' game logic. Which will you recommend?
Your employer, “Fun & Games AB” are developing a new product. They have decided to outsource part of the development to a third party vendor. There are three competing vendors. Your job is to assess a sample of their work and recommend which vendor to select. The three samples have been anonymized and are called Yatzy1, Yatzy2 and Yatzy3. All three of them should calculate the score of a given set of 5 dice according to the Yatzy rules.
You are free to perform any kind of testing you wish on the three competing implementations, when making your assessment.
In order to make the assessment as fair as possible, there is a unified command-line interface you can use to access any one of the implementations. You can run the main class through your IDE, or on the command line with maven. The code will also be available in the online tool cyber-dojo.