RockPaperScissors / RockPaperScissors.Specs /

Filename Size Date modified Message
..
Properties
References
4.2 KB
1.1 KB
2.9 KB
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.
Tip: Filter by directory path e.g. /media app.js to search for public/media/app.js.
Tip: Use camelCasing e.g. ProjME to search for ProjectModifiedEvent.java.
Tip: Filter by extension type e.g. /repo .js to search for all .js files in the /repo directory.
Tip: Separate your search with spaces e.g. /ssh pom.xml to search for src/ssh/pom.xml.
Tip: Use ↑ and ↓ arrow keys to navigate and return to view the file.
Tip: You can also navigate files with Ctrl+j (next) and Ctrl+k (previous) and view the file with Ctrl+o.
Tip: You can also navigate files with Alt+j (next) and Alt+k (previous) and view the file with Alt+o.