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

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.

主站蜘蛛池模板: 平山县| 黔江区| 广饶县| 兴城市| 宁津县| 大姚县| 台中县| 林西县| 勃利县| 怀集县| 巫山县| 开化县| 盐亭县| 焉耆| 志丹县| 桃源县| 乌兰察布市| 陇川县| 满城县| 吉安县| 德保县| 龙里县| 丽江市| 安新县| 玉田县| 沾化县| 垫江县| 名山县| 神农架林区| 昭觉县| 桑日县| 百色市| 菏泽市| 栾城县| 耿马| 纳雍县| 青川县| 敦化市| 湘阴县| 乌审旗| 城口县|