source: de.wigbels.java/BowlingGame/src/test/java/dojo/java/BowlingGameTest.java@ 820dead

Last change on this file since 820dead was a6051a60, checked in by njw <njw@…>, 11 years ago

BowlingGame kata

  • Property mode set to 100644
File size: 1.7 KB
Line 
1package dojo.java;
2
3import org.junit.Before;
4import org.junit.Test;
5
6import static org.junit.Assert.*;
7
8/**
9 * @author Norbert Wigbels (norbert@wigbels.de)
10 */
11public class BowlingGameTest {
12 BowlingGame bg;
13
14 @Before
15 public void setup() {
16 bg = new BowlingGame();
17 }
18
19 @Test
20 public void testAllZeros() {
21 rollForward(20, 0);
22 assertEquals(0, bg.calcScore());
23 }
24
25 @Test
26 public void testAllOnes() {
27 rollForward(20, 1);
28 assertEquals(20, bg.calcScore());
29 }
30
31 @Test
32 public void testAllStrikes() {
33 rollForward(12, 10);
34 assertEquals(300, bg.calcScore());
35 }
36
37 @Test
38 public void testOneSpare() {
39 rollForward(4, 0);
40 bg.roll(5); // roll, that is
41 bg.roll(5); //
42 bg.roll(3); /* bonus */
43 rollForward(13, 0);
44 assertEquals(16, bg.calcScore());
45 }
46
47 @Test
48 public void testOneStrike() {
49 rollForward(4, 0);
50 bg.roll(10); /* strike, that is */
51 bg.roll(3); // bonus
52 bg.roll(4); //
53 rollForward(12, 0);
54 assertEquals(24, bg.calcScore());
55 }
56
57 @Test
58 public void testSampleGame() {
59 bg.roll(1);
60 bg.roll(4);
61 bg.roll(4);
62 bg.roll(5);
63 bg.roll(6);
64 bg.roll(4);
65 bg.roll(5);
66 bg.roll(5);
67 bg.roll(10);
68 bg.roll(0);
69 bg.roll(1);
70 bg.roll(7);
71 bg.roll(3);
72 bg.roll(6);
73 bg.roll(4);
74 bg.roll(10);
75 bg.roll(2);
76 bg.roll(8);
77 bg.roll(6);
78 assertEquals(133, bg.calcScore());
79 }
80
81 private void rollForward(int rounds, int pins) {
82 for (int i = 0; i < rounds; i++) {
83 bg.roll(pins);
84 }
85 }
86
87}
Note: See TracBrowser for help on using the repository browser.