diff --git a/clean_code_projects/_1_project_requirements_chess/ChessGame.xml b/clean_code_projects/_1_project_requirements_chess/ChessGame.xml new file mode 100644 index 000000000..3ad574319 --- /dev/null +++ b/clean_code_projects/_1_project_requirements_chess/ChessGame.xml @@ -0,0 +1,89 @@ + + 4.0.0 + com.howtodoinjava + JavaExeDemo + jar + 1.0-SNAPSHOT + JavaExeDemo + http://maven.apache.org + + UTF-8 + + + + + org.apache.maven.plugins + maven-compiler-plugin + 2.5.1 + + 1.6 + 1.6 + + + + org.apache.maven.plugins + maven-shade-plugin + 1.7.1 + + + package + + shade + + + + + true + shaded + + + com.howtodoinjava.Main + + + + + + com.akathist.maven.plugins.launch4j + launch4j-maven-plugin + 1.5.1 + + + l4j-clui + package + + launch4j + + + gui + ${project.build.directory}/${artifactId}-${version}-shaded.jar + ${project.build.directory}/howtodoinjava.exe + http://java.com/download + + com.howtodoinjava.ApplicationMain + anything + + application.ico + + 1.6.0 + preferJre + + + 1.0.0.0 + ${project.version} + ${project.name} + 2012 howtodoinjava.com + 1.0.0.0 + 1.0.0.0 + ${project.name} + howtodoinjava.com + howtodoinjava + howtodoinjava.exe + + + + + + + + \ No newline at end of file diff --git a/clean_code_projects/_1_project_requirements_chess/META-INF/MANIFEST.MF b/clean_code_projects/_1_project_requirements_chess/META-INF/MANIFEST.MF new file mode 100644 index 000000000..0ae347625 --- /dev/null +++ b/clean_code_projects/_1_project_requirements_chess/META-INF/MANIFEST.MF @@ -0,0 +1,3 @@ +Manifest-Version: 1.0 +Main-Class: StartGame + diff --git a/clean_code_projects/_1_project_requirements_chess/out/artifacts/_1_chess_requirements_jar/_1_chess_requirements.jar b/clean_code_projects/_1_project_requirements_chess/out/artifacts/_1_chess_requirements_jar/_1_chess_requirements.jar new file mode 100644 index 000000000..74b575d95 Binary files /dev/null and b/clean_code_projects/_1_project_requirements_chess/out/artifacts/_1_chess_requirements_jar/_1_chess_requirements.jar differ diff --git a/clean_code_projects/_1_project_requirements_chess/pawns/BP.png b/clean_code_projects/_1_project_requirements_chess/pawns/BP.png new file mode 100644 index 000000000..c77b9aaf2 Binary files /dev/null and b/clean_code_projects/_1_project_requirements_chess/pawns/BP.png differ diff --git a/clean_code_projects/_1_project_requirements_chess/pawns/WP.png b/clean_code_projects/_1_project_requirements_chess/pawns/WP.png new file mode 100644 index 000000000..022a44f42 Binary files /dev/null and b/clean_code_projects/_1_project_requirements_chess/pawns/WP.png differ diff --git a/clean_code_projects/_1_project_requirements_chess/src/main/java/clean/code/chess/requirements/ChessBoard.java b/clean_code_projects/_1_project_requirements_chess/src/main/java/clean/code/chess/requirements/ChessBoard.java index 1e40d959f..40b2ab708 100644 --- a/clean_code_projects/_1_project_requirements_chess/src/main/java/clean/code/chess/requirements/ChessBoard.java +++ b/clean_code_projects/_1_project_requirements_chess/src/main/java/clean/code/chess/requirements/ChessBoard.java @@ -5,18 +5,46 @@ public class ChessBoard { public static int MAX_BOARD_WIDTH = 7; public static int MAX_BOARD_HEIGHT = 7; - private Pawn[][] pieces; + public Pawn[][] pieces; public ChessBoard() { - pieces = new Pawn[MAX_BOARD_WIDTH][MAX_BOARD_HEIGHT]; + pieces = new Pawn[MAX_BOARD_WIDTH+1][MAX_BOARD_HEIGHT+1]; } - public void Add(Pawn pawn, int xCoordinate, int yCoordinate, PieceColor pieceColor) { - throw new UnsupportedOperationException("Need to implement ChessBoard.add()"); + public void updatePiecePositionOnChessBoard(Pawn pawn, int xCoordinate, int yCoordinate) { + pawn.setXCoordinate(xCoordinate); + pawn.setYCoordinate(yCoordinate); + pieces[xCoordinate][yCoordinate] = pawn; + } + + public void addPawn(Pawn pawn, int xCoordinate, int yCoordinate, PieceColor pieceColor) { + if (IsLegalBoardPosition(xCoordinate, yCoordinate) && + (isValidRow(yCoordinate,PieceColor.WHITE) || isValidRow(yCoordinate,PieceColor.BLACK)) && + isFreePosition(xCoordinate,yCoordinate)){ + pawn.setXCoordinate(xCoordinate); + pawn.setYCoordinate(yCoordinate); + pawn.setChessBoard(this); + pawn.setPieceColor(pieceColor); + pieces[xCoordinate][yCoordinate] = pawn; + } + else{ + throw new UnsupportedOperationException("Exception at: IsLegalBoardPosition()/isValidRow()/isFreePosition()"); + } + } + + public boolean isFreePosition(int xCoordinate, int yCoordinate){ + return pieces[xCoordinate][yCoordinate] == null; + } + + public boolean isValidRow(int yCoordinate, PieceColor color){ + if (color == color.WHITE) { + return yCoordinate == 0 || yCoordinate == 1; + } + return yCoordinate == MAX_BOARD_HEIGHT - 1 || yCoordinate == MAX_BOARD_HEIGHT; } public boolean IsLegalBoardPosition(int xCoordinate, int yCoordinate) { - throw new UnsupportedOperationException("Need to implement ChessBoard.IsLegalBoardPosition()"); + return xCoordinate >= 0 && yCoordinate >= 0 && xCoordinate <= MAX_BOARD_WIDTH && yCoordinate <= MAX_BOARD_HEIGHT; } } diff --git a/clean_code_projects/_1_project_requirements_chess/src/main/java/clean/code/chess/requirements/GameGUI.java b/clean_code_projects/_1_project_requirements_chess/src/main/java/clean/code/chess/requirements/GameGUI.java new file mode 100644 index 000000000..3ba6ae142 --- /dev/null +++ b/clean_code_projects/_1_project_requirements_chess/src/main/java/clean/code/chess/requirements/GameGUI.java @@ -0,0 +1,334 @@ +package clean.code.chess.requirements; + +import java.awt.*; +import java.awt.image.BufferedImage; + +import javax.swing.*; +import javax.swing.border.*; + + +import java.awt.event.ActionListener; +import java.awt.event.ActionEvent; + +public class GameGUI { + + private boolean isFirstMoveWhite = true; + private boolean isFirstMoveBlack = true; + private ChessBoard chessTable = new ChessBoard(); + private final JPanel gui = new JPanel(new BorderLayout(3, 3)); + private JButton[][] chessBoardSquares = new JButton[8][8]; + private int[][] auxMatrix = new int[8][8]; + private boolean[][] firstMoveFlags = new boolean[8][8]; + private JPanel chessBoard; + private static final String COLS = "ABCDEFGH"; + private JToolBar toolBar; + private JButton btnNewGame; + private JButton btnRestart; + private boolean moveFlag = true; + private boolean startNewGame = true; + ImageIcon blackPawn = new ImageIcon(new ImageIcon("./pawns/BP.png").getImage().getScaledInstance(49, 49, Image.SCALE_DEFAULT)); + ImageIcon whitePawn = new ImageIcon(new ImageIcon("./pawns/WP.png").getImage().getScaledInstance(50, 50, Image.SCALE_DEFAULT)); + + GameGUI() { + initializeGui(); + } + + + private boolean isWhitePawn(JButton btn) { + if (!(btn.getIcon() == null)) { + return btn.getIcon().getIconHeight() == 50; + } + return false; + } + + private boolean isBlackPawn(JButton btn) { + if (!(btn.getIcon() == null)) { + return btn.getIcon().getIconHeight() == 49; + } + return false; + } + + private void createAuxMatrix(ActionEvent e) { + for (int ii = 0; ii < chessBoardSquares.length; ii++) { + for (int jj = 0; jj < chessBoardSquares[ii].length; jj++) { + if (chessBoardSquares[jj][ii] == e.getSource() && isWhitePawn(chessBoardSquares[jj][ii]) && moveFlag) { + auxMatrix[jj][ii] = 1; + } + if (chessBoardSquares[jj][ii] == e.getSource() && isBlackPawn(chessBoardSquares[jj][ii]) && !moveFlag) { + auxMatrix[jj][ii] = -1; + } + } + } + } + + private void createFirstMoveFlagsMatrix() { + for (int ii = 0; ii < chessBoardSquares.length; ii++) { + for (int jj = 0; jj < chessBoardSquares[ii].length; jj++) { + firstMoveFlags[jj][6] = true; + firstMoveFlags[jj][1] = true; + } + } + } + + private int getOptionsOnFirstMove(JButton button) { + Object[] options = {"Forward 2 tiles", + "Forward 1 tile", + "Cancel"}; + int n = JOptionPane.showOptionDialog(button, + "How many tiles forward?", + "Action", + JOptionPane.YES_NO_CANCEL_OPTION, + JOptionPane.QUESTION_MESSAGE, + null, + options, + options[2]); + return n; + } + + private int getOptionsOnMovement(JButton button) { + Object[] options = {"Forward 1 tile", + "Cancel"}; + int n = JOptionPane.showOptionDialog(button, + "How many tiles forward?", + "Action", + JOptionPane.YES_NO_CANCEL_OPTION, + JOptionPane.QUESTION_MESSAGE, + null, + options, + options[1]); + return n; + } + + private void deletePawns() { + for (int ii = 0; ii < chessBoardSquares.length; ii++) { + for (int jj = 0; jj < chessBoardSquares[ii].length; jj++) { + chessBoardSquares[jj][ii].setIcon(null); + } + } + } + + private void spawnPawns() { + for (int j = 0; j < chessBoardSquares.length; j++) { + chessBoardSquares[j][1].setIcon(blackPawn); + chessBoardSquares[j][6].setIcon(whitePawn); + } + } + + + public final void initializeGui() { + + gui.setBorder(new EmptyBorder(5, 5, 5, 5)); + + chessBoard = new JPanel(new GridLayout(0, 9)); + chessBoard.setBorder(new LineBorder(Color.BLACK)); + gui.add(chessBoard); + + + Insets buttonMargin = new Insets(0, 0, 0, 0); + for (int ii = 0; ii < chessBoardSquares.length; ii++) { + for (int jj = 0; jj < chessBoardSquares[ii].length; jj++) { + JButton b = new JButton(); + b.setMargin(buttonMargin); + + ImageIcon icon = new ImageIcon( + new BufferedImage(64, 64, BufferedImage.TYPE_INT_ARGB)); + b.setIcon(icon); + if ((jj % 2 == 1 && ii % 2 == 1) + //) { + || (jj % 2 == 0 && ii % 2 == 0)) { + b.setBackground(new Color(255, 206, 158, 255)); + } else { + b.setBackground(new Color(209, 139, 71, 255)); + } + chessBoardSquares[jj][ii] = b; + } + } + + + chessBoard.add(new JLabel("")); + + toolBar = new JToolBar(); + toolBar.setOrientation(SwingConstants.VERTICAL); + toolBar.setFloatable(false); + toolBar.setToolTipText(""); + gui.add(toolBar, BorderLayout.EAST); + + + btnNewGame = new JButton("New Game"); + btnNewGame.addActionListener(new ActionListener() { + + @Override + public void actionPerformed(ActionEvent e) { + if (startNewGame) { + createFirstMoveFlagsMatrix(); + spawnPawns(); + for (int j = 0; j < chessBoardSquares.length; j++) { + chessTable.addPawn(new Pawn(PieceColor.BLACK), j, 1, PieceColor.BLACK); + chessTable.addPawn(new Pawn(PieceColor.WHITE), j, 6, PieceColor.WHITE); + } + startNewGame = false; + } + } + }); + + + for (int ii = 0; ii < chessBoardSquares.length; ii++) { + for (int jj = 0; jj < chessBoardSquares[ii].length; jj++) { + chessBoardSquares[jj][ii].addActionListener(new ActionListener() { + @Override + public void actionPerformed(ActionEvent e) { + createAuxMatrix(e); + for (int ii1 = 0; ii1 < auxMatrix.length; ii1++) { + for (int jj1 = 0; jj1 < auxMatrix[ii1].length; jj1++) { + if (auxMatrix[jj1][ii1] == 1 && firstMoveFlags[jj1][ii1] && moveFlag) { + int choice = getOptionsOnFirstMove((JButton) e.getSource()); + + if (choice == 0 && !isBlackPawn(chessBoardSquares[jj1][ii1 - 2]) && !isBlackPawn(chessBoardSquares[jj1][ii1 - 1])) { + chessBoardSquares[jj1][ii1].setIcon(null); + chessBoardSquares[jj1][ii1 - 2].setIcon(whitePawn); + auxMatrix[jj1][ii1 - 2] = 0; + moveFlag = false; + firstMoveFlags[jj1][ii1] = false; + } else if (choice == 0 && (isBlackPawn(chessBoardSquares[jj1][ii1 - 2]) || isBlackPawn(chessBoardSquares[jj1][ii1 - 1]))) { + JLabel error = new JLabel(); + JOptionPane.showMessageDialog(error, "Can't move further!"); + } else if (choice == 1 && !isBlackPawn(chessBoardSquares[jj1][ii1 - 1])) { + chessBoardSquares[jj1][ii1].setIcon(null); + chessBoardSquares[jj1][ii1 - 1].setIcon(whitePawn); + auxMatrix[jj1][ii1 - 1] = 0; + moveFlag = false; + firstMoveFlags[jj1][ii1] = false; + } else if (choice == 1 && isBlackPawn(chessBoardSquares[jj1][ii1 - 1])) { + JLabel error = new JLabel(); + JOptionPane.showMessageDialog(error, "Can't move further!"); + } + + + auxMatrix[jj1][ii1] = 0; + } else if (auxMatrix[jj1][ii1] == -1 && firstMoveFlags[jj1][ii1] && !moveFlag) { + int choice = getOptionsOnFirstMove((JButton) e.getSource()); + + if (choice == 0 && !isWhitePawn(chessBoardSquares[jj1][ii1 + 2]) && !isWhitePawn(chessBoardSquares[jj1][ii1 + 1])) { + chessBoardSquares[jj1][ii1].setIcon(null); + chessBoardSquares[jj1][ii1 + 2].setIcon(blackPawn); + auxMatrix[jj1][ii1 + 2] = 0; + moveFlag = true; + firstMoveFlags[jj1][ii1] = false; + } else if (choice == 0 && (isWhitePawn(chessBoardSquares[jj1][ii1 + 2]) || isWhitePawn(chessBoardSquares[jj1][ii1 + 1]))) { + JLabel error = new JLabel(); + JOptionPane.showMessageDialog(error, "Can't move further!"); + } else if (choice == 1 && !isWhitePawn(chessBoardSquares[jj1][ii1 + 1])) { + chessBoardSquares[jj1][ii1].setIcon(null); + chessBoardSquares[jj1][ii1 + 1].setIcon(blackPawn); + auxMatrix[jj1][ii1 + 1] = 0; + moveFlag = true; + firstMoveFlags[jj1][ii1] = false; + } else if (choice == 0 && isWhitePawn(chessBoardSquares[jj1][ii1 + 1])) { + JLabel error = new JLabel(); + JOptionPane.showMessageDialog(error, "Can't move further!"); + } + + auxMatrix[jj1][ii1] = 0; + } else if (auxMatrix[jj1][ii1] == 1 && !firstMoveFlags[jj1][ii1] && moveFlag) { + int choice = getOptionsOnMovement((JButton) e.getSource()); + + if (choice == 0 && !isBlackPawn(chessBoardSquares[jj1][ii1 - 1])) { + chessBoardSquares[jj1][ii1].setIcon(null); + chessBoardSquares[jj1][ii1 - 1].setIcon(whitePawn); + auxMatrix[jj1][ii1 - 1] = 0; + moveFlag = false; + } else { + JLabel error = new JLabel(); + JOptionPane.showMessageDialog(error, "Can't move further!"); + } + + auxMatrix[jj1][ii1] = 0; + } else if (auxMatrix[jj1][ii1] == -1 && !firstMoveFlags[jj1][ii1] && !moveFlag) { + int choice = getOptionsOnMovement((JButton) e.getSource()); + + if (choice == 0 && !isWhitePawn(chessBoardSquares[jj1][ii1 + 1])) { + chessBoardSquares[jj1][ii1].setIcon(null); + chessBoardSquares[jj1][ii1 + 1].setIcon(blackPawn); + auxMatrix[jj1][ii1 + 1] = 0; + moveFlag = true; + } else { + JLabel error = new JLabel(); + JOptionPane.showMessageDialog(error, "Can't move further!"); + } + auxMatrix[jj1][ii1] = 0; + } + } + } + + } + }); + } + } + + + toolBar.add(btnNewGame); + + btnRestart = new JButton("Restart"); + btnRestart.addActionListener(new ActionListener() { + + @Override + public void actionPerformed(ActionEvent e) { + if(!startNewGame) { + deletePawns(); + moveFlag = true; + createFirstMoveFlagsMatrix(); + spawnPawns(); + } + } + }); + + toolBar.add(btnRestart); + + for (int ii = 0; ii < 8; ii++) { + chessBoard.add( + new JLabel(COLS.substring(ii, ii + 1), + SwingConstants.CENTER)); + } + + for (int ii = 0; ii < 8; ii++) { + for (int jj = 0; jj < 8; jj++) { + switch (jj) { + case 0: + chessBoard.add(new JLabel("" + (ii + 1), + SwingConstants.CENTER)); + default: + chessBoard.add(chessBoardSquares[jj][ii]); + } + } + } + } + + public final JComponent getChessBoard() { + return chessBoard; + } + + public final JComponent getGui() { + return gui; + } + + public static void InitializeGUI() { + Runnable r = new Runnable() { + + @Override + public void run() { + GameGUI cb = new GameGUI(); + + JFrame f = new JFrame("ChessChamp"); + f.getContentPane().add(cb.getGui()); + f.setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE); + f.setLocationByPlatform(true); + + + f.pack(); + f.setMinimumSize(f.getSize()); + f.setVisible(true); + } + }; + SwingUtilities.invokeLater(r); + } +} \ No newline at end of file diff --git a/clean_code_projects/_1_project_requirements_chess/src/main/java/clean/code/chess/requirements/MovementType.java b/clean_code_projects/_1_project_requirements_chess/src/main/java/clean/code/chess/requirements/MovementType.java index 326e0721f..796430790 100644 --- a/clean_code_projects/_1_project_requirements_chess/src/main/java/clean/code/chess/requirements/MovementType.java +++ b/clean_code_projects/_1_project_requirements_chess/src/main/java/clean/code/chess/requirements/MovementType.java @@ -2,5 +2,5 @@ public enum MovementType { - MOVE, CAPTURE; + MOVE; } diff --git a/clean_code_projects/_1_project_requirements_chess/src/main/java/clean/code/chess/requirements/Pawn.java b/clean_code_projects/_1_project_requirements_chess/src/main/java/clean/code/chess/requirements/Pawn.java index e589abeb7..64c88e36b 100644 --- a/clean_code_projects/_1_project_requirements_chess/src/main/java/clean/code/chess/requirements/Pawn.java +++ b/clean_code_projects/_1_project_requirements_chess/src/main/java/clean/code/chess/requirements/Pawn.java @@ -6,6 +6,7 @@ public class Pawn { private int xCoordinate; private int yCoordinate; private PieceColor pieceColor; + private boolean isFirstMove = true; public Pawn(PieceColor pieceColor) { this.pieceColor = pieceColor; @@ -15,6 +16,8 @@ public ChessBoard getChesssBoard() { return chessBoard; } + public boolean isFirstMove() { return isFirstMove;} + public void setChessBoard(ChessBoard chessBoard) { this.chessBoard = chessBoard; } @@ -39,12 +42,37 @@ public PieceColor getPieceColor() { return this.pieceColor; } - private void setPieceColor(PieceColor value) { + public void setPieceColor(PieceColor value) { pieceColor = value; } + private int getMovementDirection(){ + if(this.getPieceColor() == PieceColor.WHITE) { + return +1; + } + return -1; + } + + public boolean isValidnewX(int newX){ + return newX == getXCoordinate(); + } + + public boolean isValidnewY(int newY){ + return newY == getYCoordinate() + getMovementDirection() || + newY == getYCoordinate() || + (isFirstMove && newY == getYCoordinate() + 2 * getMovementDirection()); + } + + public boolean isValidNewPosition(int newX, int newY) { + return this.isValidnewX(newX) && this.isValidnewY(newY); + } + + public void Move(MovementType movementType, int newX, int newY) { - throw new UnsupportedOperationException("Need to implement Pawn.Move()"); + if(isValidNewPosition(newX,newY) && this.chessBoard.isFreePosition(newX,newY)){ + this.chessBoard.updatePiecePositionOnChessBoard(this, newX, newY); + } + isFirstMove = false; } @Override @@ -54,6 +82,6 @@ public String toString() { protected String CurrentPositionAsString() { String eol = System.lineSeparator(); - return String.format("Current X: {1}{0}Current Y: {2}{0}Piece Color: {3}", eol, xCoordinate, yCoordinate, pieceColor); + return String.format("Current X: {" + xCoordinate + "} Current Y: {" + yCoordinate +"} Piece Color: {" +pieceColor+ "}"); } } diff --git a/clean_code_projects/_1_project_requirements_chess/src/main/java/clean/code/chess/requirements/StartGame.java b/clean_code_projects/_1_project_requirements_chess/src/main/java/clean/code/chess/requirements/StartGame.java new file mode 100644 index 000000000..aeba135ef --- /dev/null +++ b/clean_code_projects/_1_project_requirements_chess/src/main/java/clean/code/chess/requirements/StartGame.java @@ -0,0 +1,8 @@ +package clean.code.chess.requirements; + +public class StartGame { + public static void main(String[] args) { + GameGUI.InitializeGUI(); + } + +} diff --git a/clean_code_projects/_1_project_requirements_chess/src/test/java/clean/code/chess/requirements/ChessBoardTest.java b/clean_code_projects/_1_project_requirements_chess/src/test/java/clean/code/chess/requirements/ChessBoardTest.java index 5b8ca4079..c49530428 100644 --- a/clean_code_projects/_1_project_requirements_chess/src/test/java/clean/code/chess/requirements/ChessBoardTest.java +++ b/clean_code_projects/_1_project_requirements_chess/src/test/java/clean/code/chess/requirements/ChessBoardTest.java @@ -39,7 +39,7 @@ public void testIsLegalBoardPosition_True_X_equals_5_Y_equals_5() { @Test public void testIsLegalBoardPosition_False_X_equals_11_Y_equals_5() { boolean isValidPosition = testSubject.IsLegalBoardPosition(11, 5); - assertTrue(isValidPosition); + assertFalse(isValidPosition); } @Test @@ -64,8 +64,8 @@ public void testIsLegalBoardPosition_False_For_Negative_Y_Values() { public void Avoids_Duplicate_Positioning() { Pawn firstPawn = new Pawn(PieceColor.BLACK); Pawn secondPawn = new Pawn(PieceColor.BLACK); - testSubject.Add(firstPawn, 6, 3, PieceColor.BLACK); - testSubject.Add(secondPawn, 6, 3, PieceColor.BLACK); + testSubject.addPawn(firstPawn, 6, 3, PieceColor.BLACK); + testSubject.addPawn(secondPawn, 6, 3, PieceColor.BLACK); assertEquals(6, firstPawn.getXCoordinate()); assertEquals(3, firstPawn.getYCoordinate()); assertEquals(-1, secondPawn.getXCoordinate()); @@ -77,7 +77,7 @@ public void testLimits_The_Number_Of_Pawns() { for (int i = 0; i < 10; i++) { Pawn pawn = new Pawn(PieceColor.BLACK); int row = i / ChessBoard.MAX_BOARD_WIDTH; - testSubject.Add(pawn, 6 + row, i % ChessBoard.MAX_BOARD_WIDTH, PieceColor.BLACK); + testSubject.addPawn(pawn, 6 + row, i % ChessBoard.MAX_BOARD_WIDTH, PieceColor.BLACK); if (row < 1) { assertEquals(6 + row, pawn.getXCoordinate()); assertEquals(i % ChessBoard.MAX_BOARD_WIDTH, pawn.getYCoordinate()); diff --git a/clean_code_projects/_1_project_requirements_chess/src/test/java/clean/code/chess/requirements/PawnTest.java b/clean_code_projects/_1_project_requirements_chess/src/test/java/clean/code/chess/requirements/PawnTest.java index beee03f37..c3c0b5d34 100644 --- a/clean_code_projects/_1_project_requirements_chess/src/test/java/clean/code/chess/requirements/PawnTest.java +++ b/clean_code_projects/_1_project_requirements_chess/src/test/java/clean/code/chess/requirements/PawnTest.java @@ -18,20 +18,20 @@ public void setUp() { @Test public void testChessBoard_Add_Sets_XCoordinate() { - this.chessBoard.Add(testSubject, 6, 3, PieceColor.BLACK); + this.chessBoard.addPawn(testSubject, 6, 3, PieceColor.BLACK); assertEquals(6, testSubject.getXCoordinate()); } @Test public void testChessBoard_Add_Sets_YCoordinate() { - this.chessBoard.Add(testSubject, 6, 3, PieceColor.BLACK); + this.chessBoard.addPawn(testSubject, 6, 3, PieceColor.BLACK); assertEquals(3, testSubject.getYCoordinate()); } @Test public void testPawn_Move_IllegalCoordinates_Right_DoesNotMove() { - chessBoard.Add(testSubject, 6, 3, PieceColor.BLACK); + chessBoard.addPawn(testSubject, 6, 3, PieceColor.BLACK); testSubject.Move(MovementType.MOVE, 7, 3); assertEquals(6, testSubject.getXCoordinate()); assertEquals(3, testSubject.getYCoordinate()); @@ -39,7 +39,7 @@ public void testPawn_Move_IllegalCoordinates_Right_DoesNotMove() { @Test public void testPawn_Move_IllegalCoordinates_Left_DoesNotMove() { - chessBoard.Add(testSubject, 6, 3, PieceColor.BLACK); + chessBoard.addPawn(testSubject, 6, 3, PieceColor.BLACK); testSubject.Move(MovementType.MOVE, 4, 3); assertEquals(6, testSubject.getXCoordinate()); assertEquals(3, testSubject.getYCoordinate()); @@ -47,7 +47,7 @@ public void testPawn_Move_IllegalCoordinates_Left_DoesNotMove() { @Test public void testPawn_Move_LegalCoordinates_Forward_UpdatesCoordinates() { - chessBoard.Add(testSubject, 6, 3, PieceColor.BLACK); + chessBoard.addPawn(testSubject, 6, 3, PieceColor.BLACK); testSubject.Move(MovementType.MOVE, 6, 2); assertEquals(6, testSubject.getXCoordinate()); assertEquals(2, testSubject.getYCoordinate());