public void testNoInterveningTiles() {
    // Place a tree in the middle
    board.addTile(tree, CENTRE, CENTRE);
    
    try {
      // Check illegal arguments aren't accepted
      board.validateNoInterveningTiles(CENTRE - 1, CENTRE - 1, CENTRE + 1, CENTRE);
      fail("Method shouldn't accept diagonal moves");
    }
    catch (IllegalArgumentException expected) {
      // Success
    }
    catch (IllegalMoveException ex) {
      fail("Shouldn't get this exception here");
    }
    
    try {
      // Check it's intervening between the squares on either side (X+)
      board.validateNoInterveningTiles(CENTRE - 1, CENTRE, CENTRE + 1, CENTRE);
      fail("Tree should be intervening in x-axis");
    }
    catch (IllegalMoveException expected) {
      // Success
    }
    
    try {
      // Check it's intervening between the squares on either side (Y-)
      board.validateNoInterveningTiles(CENTRE, CENTRE + 1, CENTRE, CENTRE - 1);
      fail("Tree should be intervening in y-axis");
    }
    catch (IllegalMoveException expected) {
      // Success
    }

    try {
      // Check it's not intervening on a different row (X)
      board.validateNoInterveningTiles(CENTRE - 1, CENTRE + 1, CENTRE + 1, CENTRE + 1);
    }
    catch (IllegalMoveException ex) {
      fail("Tree shouldn't be intervening in y-axis");
    }

    try {
      // Check it's not intervening on a different column (Y)
      board.validateNoInterveningTiles(CENTRE + 1, CENTRE - 1, CENTRE + 1, CENTRE + 1);
    }
    catch (IllegalMoveException ex) {
      fail("Tree shouldn't be intervening in y-axis");
    }
  }