예제 #1
0
        public void PlacePawn_Avoids_Duplicate_Positioning()
        {
            Position position = new Position(6, 2);

            Assert.DoesNotThrow(() => chessBoard.PlacePawn(position, PieceColor.Black));
            Assert.Throws <InvalidOperationException>(() => chessBoard.PlacePawn(position, PieceColor.Black));
        }
예제 #2
0
        public void SetUp()
        {
            chessBoard = new ChessBoard(new EastSide(), new ChessPieceCreationFactory());

            blackPawn1 = chessBoard.PlacePawn(new Position(6, 3), PieceColor.Black);
            blackPawn2 = chessBoard.PlacePawn(new Position(6, 4), PieceColor.Black);

            whitePawn1 = chessBoard.PlacePawn(new Position(1, 3), PieceColor.White);
            whitePawn2 = chessBoard.PlacePawn(new Position(1, 4), PieceColor.White);
        }
예제 #3
0
 public void PlacePawn_ThrowsException_For_Invalid_Positions(Direction direction, Position position)
 {
     chessBoard = new ChessBoard(direction, factory);
     Assert.Throws <InvalidOperationException>(() => chessBoard.PlacePawn(position, PieceColor.White));
 }