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

Last change on this file since a6051a60 was a6051a60, checked in by njw <njw@…>, 10 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.