public void ResetBoardOnStart() { var shogiGame = new ShogiGame(_boardRenderMock, null, null, _boardMock); shogiGame.Start(); _boardMock.Received(1).Reset(); }
public void RenderBoardOnStart() { var shogiGame = new ShogiGame(_boardRenderMock, null, null, _boardMock); shogiGame.Start(); _boardRenderMock.ReceivedWithAnyArgs(1).Refresh(Arg.Any <IBoardState>()); }
public static void Main(string[] args) { var board = new Board(); var blackPlayer = HumanPlayerConsoleAdapter.CreateFor(PlayerType.Black); var whitePlayer = NoviceComputerPlayer.CreateFor(PlayerType.White, board); var shogiGame = new ShogiGame(new BoardConsoleRender(), blackPlayer, whitePlayer, board); shogiGame.Start(); }
public void RenderBoardAtStartOfGame() { var board = Substitute.For <IBoard>(); var render = Substitute.For <IBoardRender>(); var shogi = new ShogiGame(render, null, null, board); shogi.Start(); render.Received(1).Refresh(Arg.Any <IBoardState>()); }
public void EnsureBoardIsResetAtStartOfGame() { var board = Substitute.For <IBoard>(); var render = Substitute.For <IBoardRender>(); var shogi = new ShogiGame(render, null, null, board); shogi.Start(); board.Received(1).Reset(); }
public static void Main(string[] args) { var blackPlayer = ConsoleHumanPlayer.CreateFor(Player.Black); var whitePlayer = ConsoleHumanPlayer.CreateFor(Player.White); var shogiGame = new ShogiGame( new BoardConsoleRender(), blackPlayer, whitePlayer, new Board()); shogiGame.Start(); }
public void IdentifyACheckMateState() { var board = new Bitboard(new FullBitboardState(BitboardPredefinedStates.InitialWhitePositions, BitboardPredefinedStates.InitialBlackPositions)); var render = Substitute.For <IBoardRender>(); var shogi = new ShogiGame(render, null, null, board); shogi.Start(); board.Move(Player.Black, "7g7f"); board.Move(Player.White, "6a7b"); board.Move(Player.Black, "8h3c"); board.Move(Player.White, "4a4b"); board.Move(Player.Black, "3c4b"); board.Move(Player.White, "5a6a"); var result = board.Move(Player.Black, "G*5b"); Assert.Equal(BoardResult.CheckMate, result); }