1. Kevin Berridge
  2. RockPaperScissors


RockPaperScissors / RockPaperScissors.Specs / Readme.txt

1. At first I wrote "when_playing_single_game" It should_output_Ben_as_winner
but this was too high level.  I needed to actually spec the rules of r/p/s first.
2. So I wrote "when_playing_a_round" which forced me to introduce the concept of a round.
3. Which led me to create the RockPaperScissors object.
4. Then I got all confused about how to deal with the input from the console (Can I apply MVP or MVVM to a console program?), so I decided to leave that bit for last.
5. Then I wrote the spec for how a single round game should work, and for some reason I broke it into two seperate interfaces.
6. Then I made all the tests pass.
7. Then I wrote the program.cs file so I could see what the control loop should look like and decide if I should test it (I think I really should).
8. Then it was 10pm and that's my bed time.
9. Added some obviously missing stuff.
10. I still haven't bothered to get the player's names.
11. Still haven't bothered testing the control loop, but if I do, I'll need IPromptUser and IDisplayOutput interfaces to abstract the Console.