public void PlayerCanPlaceAMark() { var board = new Mock<IBoard>(); var position = new Mock<IPosition>(); var game = new Game(board.Object, 2); const int playerNumber = 0; board.Setup(b => b.IsEmptyAt(position.Object)).Returns(true); board.Setup(b => b.PlaceMark(position.Object, playerNumber)); game.Move(position.Object); board.Verify(b => b.PlaceMark(position.Object, playerNumber)); }
public void PlayerCanPlaceAMark() { var board = new Mock <IBoard>(); var position = new Mock <IPosition>(); var game = new Game(board.Object, 2); const int playerNumber = 0; board.Setup(b => b.IsEmptyAt(position.Object)).Returns(true); board.Setup(b => b.PlaceMark(position.Object, playerNumber)); game.Move(position.Object); board.Verify(b => b.PlaceMark(position.Object, playerNumber)); }
public void PlayersAreSwitchingBetweenMoves(int playerCount, int movesCount, int lastPlayerIndex) { var board = new Mock<IBoard>(); board.Setup(b => b.IsEmptyAt(It.IsAny<IPosition>())).Returns(true); var game = new Game(board.Object, playerCount); var position = new Mock<IPosition>(); while (movesCount-- > 0) { game.Move(position.Object); } Assert.Equal(lastPlayerIndex, game.PlayerOnMove); }
public void PlayersAreSwitchingBetweenMoves(int playerCount, int movesCount, int lastPlayerIndex) { var board = new Mock <IBoard>(); board.Setup(b => b.IsEmptyAt(It.IsAny <IPosition>())).Returns(true); var game = new Game(board.Object, playerCount); var position = new Mock <IPosition>(); while (movesCount-- > 0) { game.Move(position.Object); } Assert.Equal(lastPlayerIndex, game.PlayerOnMove); }