示例#1
0
  @Test
  public void testIsNotPlaceableIfOtherShipBordersInYDirection() {
    board.placeShip(Ship.createHorizontal(new Position(0, 1), 5));

    Ship ship = Ship.createHorizontal(new Position(0, 0), 1);

    assertThat(board.shipIsPlaceable(ship), is(false));
  }
示例#2
0
  @Test(expected = GameException.class)
  public void testIllegalPlacementThrowsException() {
    Ship ship = Ship.createHorizontal(new Position(9, 9), 1);
    Ship otherShip = Ship.createHorizontal(new Position(9, 9), 1);

    board.placeShip(ship);
    board.placeShip(otherShip);
  }
示例#3
0
  @Test
  public void testShipIsNotPlaceableIfOtherShipIsOnSpot() {
    board.placeShip(Ship.createHorizontal(new Position(0, 0), 5));

    Ship ship = Ship.createHorizontal(new Position(4, 0), 2);

    assertThat(board.shipIsPlaceable(ship), is(false));
  }
示例#4
0
  @Test
  public void testAllShipsSunkIsTrueIfAllShipsWereFullyHit() {
    Ship ship = Ship.createHorizontal(new Position(0, 0), 2);

    board.placeShip(ship);
    board.shootAt(new Position(0, 0));
    board.shootAt(new Position(1, 0));

    assertThat(board.allShipsSunk(), is(true));
  }
示例#5
0
  @Test
  public void testAllShipsSunkIsFalseIfSomeShipsPartiallyRemain() {
    Ship ship = Ship.createHorizontal(new Position(0, 0), 2);
    Ship otherShip = Ship.createVertical(new Position(3, 3), 3);

    board.placeShip(ship);
    board.placeShip(otherShip);
    board.shootAt(new Position(0, 0));
    board.shootAt(new Position(1, 0));
    board.shootAt(new Position(3, 3));

    assertThat(board.allShipsSunk(), is(false));
  }
示例#6
0
  @Test
  public void testIsPlaceableInCorner() {
    Ship ship = Ship.createHorizontal(new Position(9, 9), 1);

    assertThat(board.shipIsPlaceable(ship), is(true));
  }
示例#7
0
  @Test
  public void testIsNotPlaceableIfShipIsOutOfBoard() {
    Ship ship = Ship.createHorizontal(new Position(9, 9), 2);

    assertThat(board.shipIsPlaceable(ship), is(false));
  }
示例#8
0
  @Test
  public void testShipIsPlaceableNextToEdge() {
    Ship ship = Ship.createHorizontal(new Position(0, 9), 5);

    assertThat(board.shipIsPlaceable(ship), is(true));
  }
示例#9
0
  @Test
  public void testShipIsPlaceableForEmptyBoard() {
    Ship ship = Ship.createHorizontal(new Position(2, 2), 5);

    assertThat(board.shipIsPlaceable(ship), is(true));
  }