public void Pawn_Move_IllegalCoordinates_Backwards_DoesNotMove() { // arrange var testCases = new[] { new { color = PieceColor.Black }, new { color = PieceColor.White } }; foreach (var testCase in testCases) { var pawn = new Pawn(testCase.color) { CoordinateValidator = mockCoordinateValidator.Object }; var coordinate = new Coordinate(6, 3); chessBoard.AddPiece(pawn, coordinate); var new_coordinate = new Coordinate(6, (testCase.color == PieceColor.Black) ? 4 : 2); // act pawn.Move(new_coordinate); } }
public void Move_Successful() { // arrange var chessBoard = new ChessBoard() { CoordinateValidator = mockCoordinateValidator.Object }; var coordinate1 = new Coordinate(4, 3); var coordinate2 = new Coordinate(3, 3); var testPiece = new TestPieceClass(PieceColor.Black); chessBoard.AddPiece(testPiece, coordinate1); // act testPiece.Move(coordinate2); // assert Assert.AreEqual(null, chessBoard.GetPiece(coordinate1)); Assert.AreEqual(testPiece, chessBoard.GetPiece(coordinate2)); Assert.AreEqual(chessBoard, testPiece.ChessBoard); }
public void Add_Piece_Valid_Positioning() { // arrange var firstPawn = new Pawn(PieceColor.Black); var secondPawn = new Pawn(PieceColor.Black); var coordinate1 = new Coordinate(6, 3); var coordinate2 = new Coordinate(5, 3); // act chessBoard.AddPiece(firstPawn, coordinate1); chessBoard.AddPiece(secondPawn, coordinate2); // assert Assert.AreEqual(coordinate1, firstPawn.Coordinate); Assert.AreEqual(coordinate2, secondPawn.Coordinate); Assert.AreEqual(chessBoard, firstPawn.ChessBoard); Assert.AreEqual(chessBoard, firstPawn.ChessBoard); }