官术网_书友最值得收藏!

Test – board boundaries I

We should start by checking whether a piece is placed within the boundaries of the 3x3 board:

package com.packtpublishing.tddjava.ch03tictactoe;

import org.junit.Before;
import org.junit.Rule;
import org.junit.Test;
import org.junit.rules.ExpectedException;

public class TicTacToeSpec {
  @Rule
  public ExpectedException exception = ExpectedException.none();
  private TicTacToe ticTacToe;

  @Before
  public final void before() {
    ticTacToe = new TicTacToe();
  }
@Test public void whenXOutsideBoardThenRuntimeException() { exception.expect(RuntimeException.class); ticTacToe.play(5, 2); } }

When a piece is placed anywhere outside the x-axis, then RuntimeException is thrown.

In this test, we are defining that RuntimeException is expected when the ticTacToe.play(5, 2) method is invoked. It's a very short and easy test, and making it pass should be easy as well. All we have to do is create the play method and make sure that it throws RuntimeException when the x argument is smaller than 1 or bigger than 3 (the board is 3x3). You should run this test three times. The first time, it should fail because the play method doesn't exist. Once it is added, it should fail because RuntimeException is not thrown. The third time, it should be successful because the code that corresponds with this test is fully implemented.

主站蜘蛛池模板: 忻州市| 普安县| 山东省| 汶上县| 古交市| 铜鼓县| 马山县| 汉寿县| 南宫市| 天长市| 合阳县| 道孚县| 家居| 绥德县| 唐山市| 花莲市| 武强县| 千阳县| 太和县| 鱼台县| 凤阳县| 包头市| 莲花县| 延庆县| 赤城县| 香河县| 金门县| 三河市| 资溪县| 北碚区| 友谊县| 大悟县| 绥芬河市| 沅陵县| 水富县| 怀仁县| 龙海市| 开平市| 田东县| 泸水县| 惠水县|