/* * BoardTest.java * JUnit based test * * Created on February 10, 2007, 7:11 PM */ package chess; import junit.framework.*; import java.util.Vector; /** * * @author Stanislav Hromek */ public class BoardTest extends TestCase { public BoardTest(String testName) { super(testName); } protected void setUp() throws Exception { } protected void tearDown() throws Exception { } public static Test suite() { TestSuite suite = new TestSuite(BoardTest.class); return suite; } public void testSetTheStartingPosition() { System.out.println("SetTheStartingPosition"); Board board = new Board(); board.setTheStartingPosition(); Square[][] squares = board.getSquares(); assertEquals(true, squares[0][0].getPiece() instanceof Rook); assertEquals(true, squares[1][0].getPiece() instanceof Knight); assertEquals(true, squares[0][1].getPiece() instanceof Pawn); assertEquals(null, squares[0][2].getPiece()); } public void testInit() { System.out.println("Init"); Board board = new Board(); Square[][] squares = board.getSquares(); assertEquals("a1", squares[0][0].getName()); assertEquals("a8", squares[0][7].getName()); assertEquals("h1", squares[7][0].getName()); assertEquals("h8", squares[7][7].getName()); } public void testGetSquares() { System.out.println("getSquares"); Board instance = new Board(); Square[][] result = instance.getSquares(); assertEquals(8, result.length); assertEquals(8, result[0].length); } public void testGetSquare() { System.out.println("getSquare"); String squareName = "a1"; Board board = new Board(); Square result = board.getSquare(squareName); assertEquals("a1", result.getName()); } public void testGetSquaresHorizontal() { System.out.println("getSquaresHorizontal"); Board instance = new Board(); String squareNameOne = "a1"; String squareNameTwo = "c1"; Square[] result = instance.getSquaresHorizontal(squareNameOne, squareNameTwo); assertEquals(1, result.length); assertEquals("b1", result[0].getName()); squareNameOne = "h1"; squareNameTwo = "g1"; result = instance.getSquaresHorizontal(squareNameOne, squareNameTwo); assertEquals(0, result.length); squareNameOne = "h1"; squareNameTwo = "a1"; result = instance.getSquaresHorizontal(squareNameOne, squareNameTwo); assertEquals(6, result.length); assertEquals("g1", result[0].getName()); } public void testGetSquaresVertical() { System.out.println("getSquaresVertical"); Board instance = new Board(); String squareNameOne = "a1"; String squareNameTwo = "a6"; Square[] result = instance.getSquaresVertical(squareNameOne, squareNameTwo); assertEquals(4, result.length); assertEquals("a2", result[0].getName()); squareNameOne = "e7"; squareNameTwo = "e6"; result = instance.getSquaresVertical(squareNameOne, squareNameTwo); assertEquals(0, result.length); squareNameOne = "h8"; squareNameTwo = "h2"; result = instance.getSquaresVertical(squareNameOne, squareNameTwo); assertEquals(5, result.length); assertEquals("h7", result[0].getName()); } public void testGetSquaresDiagonal() { System.out.println("getSquaresDiagonal"); Board instance = new Board(); String squareNameOne = "a1"; String squareNameTwo = "f6"; Square[] result = instance.getSquaresDiagonal(squareNameOne, squareNameTwo); assertEquals(4, result.length); assertEquals("b2", result[0].getName()); squareNameOne = "e7"; squareNameTwo = "d6"; result = instance.getSquaresDiagonal(squareNameOne, squareNameTwo); assertEquals(0, result.length); squareNameOne = "h8"; squareNameTwo = "b2"; result = instance.getSquaresDiagonal(squareNameOne, squareNameTwo); assertEquals(5, result.length); assertEquals("g7", result[0].getName()); squareNameOne = "e4"; squareNameTwo = "c6"; result = instance.getSquaresDiagonal(squareNameOne, squareNameTwo); assertEquals(1, result.length); assertEquals("d5", result[0].getName()); squareNameOne = "a8"; squareNameTwo = "h1"; result = instance.getSquaresDiagonal(squareNameOne, squareNameTwo); assertEquals(6, result.length); assertEquals("b7", result[0].getName()); } public void testIsHorizontal() { System.out.println("isHorizontal"); Board instance = new Board(); String squareNameOne = "a1"; String squareNameTwo = "f1"; boolean result = instance.isHorizontal(squareNameOne, squareNameTwo); assertEquals(true, result); squareNameOne = "a1"; squareNameTwo = "a8"; result = instance.isHorizontal(squareNameOne, squareNameTwo); assertEquals(false, result); } public void testIsVertical() { System.out.println("isVertical"); Board instance = new Board(); String squareNameOne = "a1"; String squareNameTwo = "f1"; boolean result = instance.isVertical(squareNameOne, squareNameTwo); assertEquals(false, result); squareNameOne = "a1"; squareNameTwo = "a8"; result = instance.isVertical(squareNameOne, squareNameTwo); assertEquals(true, result); } public void testIsDiagonal() { System.out.println("isDiagonal"); Board instance = new Board(); String squareNameOne = "a1"; String squareNameTwo = "h8"; boolean result = instance.isDiagonal(squareNameOne, squareNameTwo); assertEquals(true, result); squareNameOne = "a1"; squareNameTwo = "e8"; result = instance.isDiagonal(squareNameOne, squareNameTwo); assertEquals(false, result); } public void testIsKnightMove() { System.out.println("isKnightMove"); Board board = new Board(); String squareNameOne; String squareNameTwo; boolean result; squareNameOne = "a1"; squareNameTwo = "c2"; result = board.isKnightMove(squareNameOne, squareNameTwo); assertEquals(true, result); squareNameOne = "a1"; squareNameTwo = "b3"; result = board.isKnightMove(squareNameOne, squareNameTwo); assertEquals(true, result); squareNameOne = "a1"; squareNameTwo = "b2"; result = board.isKnightMove(squareNameOne, squareNameTwo); assertEquals(false, result); } public void testKnightMoves() { System.out.println("knightMoves"); char letter = 'e'; int number = 4; Board board = new Board(); String[] knightMoves; knightMoves = board.knightMoves(letter, number); // for (int i = 0; i < knightMoves.length; i++) { // System.out.println("move["+i+"]="+knightMoves[i]); // } assertEquals("g5", knightMoves[0]); assertEquals("g3", knightMoves[1]); assertEquals("c5", knightMoves[2]); assertEquals("c3", knightMoves[3]); assertEquals("f6", knightMoves[4]); assertEquals("f2", knightMoves[5]); assertEquals("d6", knightMoves[6]); assertEquals("d2", knightMoves[7]); } public void testIsNextSquare() { System.out.println("isNextSquare"); Board instance = new Board(); String squareNameOne = "a1"; String squareNameTwo = "a2"; boolean result = instance.isNextSquare(squareNameOne, squareNameTwo); assertEquals(true, result); squareNameOne = "h1"; squareNameTwo = "f3"; result = instance.isNextSquare(squareNameOne, squareNameTwo); assertEquals(false, result); } public void testIsOneForward() { System.out.println("isOneForward"); String color = "white"; String movePieceFrom = "a2"; String movePieceTo = "a3"; Board instance = new Board(); boolean result = instance.isOneForward(color, movePieceFrom, movePieceTo); assertEquals(true, result); movePieceTo = "b3"; result = instance.isOneForward(color, movePieceFrom, movePieceTo); assertEquals(false, result); movePieceTo = "a7"; result = instance.isOneForward(color, movePieceFrom, movePieceTo); assertEquals(false, result); } public void testIsTwoForward() { System.out.println("isTwoForward"); String color = "white"; String movePieceFrom = "a2"; String movePieceTo = "a4"; Board instance = new Board(); boolean result = instance.isTwoForward(color, movePieceFrom, movePieceTo); assertEquals(true, result); movePieceTo = "a3"; result = instance.isTwoForward(color, movePieceFrom, movePieceTo); assertEquals(false, result); } public void testIsExchange() { System.out.println("isExchange"); String color = "white"; String movePieceFrom = "a2"; String movePieceTo = "b3"; Board instance = new Board(); boolean result = instance.isExchange(color, movePieceFrom, movePieceTo); assertEquals(true, result); movePieceTo = "a3"; result = instance.isExchange(color, movePieceFrom, movePieceTo); assertEquals(false, result); } public void testIsExchange2() { System.out.println("isExchange2"); String color = "white"; String movePieceFrom = "a5"; String movePieceTo = "b6"; Board instance = new Board(); Game.previousPawnMove = "b6"; boolean result = instance.isExchange2(color, movePieceFrom, movePieceTo); assertEquals(true, result); Game.previousPawnMove = ""; result = instance.isExchange2(color, movePieceFrom, movePieceTo); assertEquals(false, result); movePieceTo = "c6"; result = instance.isExchange2(color, movePieceFrom, movePieceTo); assertEquals(false, result); } }