test for job interview (using Scala)
User Story Front |
---|
Title: Waste an Hour Having Fun |
As a frequent games player, |
I'd like to play rock, paper, scissors |
so that I can spend an hour of my day having fun |
Acceptance Criteria |
- Can I play Player vs Computer? |
- Can I play Computer vs Computer? |
- Can I play a different game each time? |
User Story Back |
---|
Technical Constraints |
- Doesn't necessarily need a flashy GUI |
(can be simple) |
- Use the language of your application |
- Libs / external modules should only be used |
for tests |
- Using best in industry agile engineering |
practices |
Don't know the game? http://en.wikipedia.org/wiki/Rock-paper-scissors
Guidance
We wouldn't ask anyone to do a coding puzzle that we haven't done ourselves, so the people looking at your code understand the problem we're asking to be solved. It took us around 2 - 5 hours of effort when doing this, so please use this as an indicator of effort required.
We’re not too bothered with the UI. However, if you are mostly a front end engineer a nice UI is a requirement We are keen to see how much you think is enough, and how much would go into a Minimum Viable Product. As a guide, elegant and simple wins over feature rich every time, though extra gold stars are given to people who get excited and do more because they are having fun. Do you test drive your code? This is something we value and we will be looking for telling indicators of such in the code you produce. We'll also be looking for things like coverage, copy and paste detection etc We also like to see your ‘long division’ i.e. the working out of the problem in code Run / build instructions are seen in a positive light, as it indicates you know how to work in that environment We also consider the extensibility of the code produced. Well factored code should be relatively easily extended. http://en.wikipedia.org/wiki/Rock-paper-scissors-lizard-Spock may be a natural extension. Submissions should be in the language of the role you applied for. Any indicator of design (DDD, or design patterns) would make us smile.
Use the SBT (https://www.scala-sbt.org/download.html) commands : "sbt run" to run the program "sbt test" to run the tests