public async Task TestAcceptMessagePickAnswerShouldChangeDistToPieceAndPickPiece() { EmptyAnswerPayload pickPayload = new EmptyAnswerPayload(); Message pickAnswerMessage = new Message(MessageID.PickAnswer, agentID, pickPayload); Message startMessage = CreateStartMessage(); BufferBlock <Message> inputBuffer = new BufferBlock <Message>(); inputBuffer.Post(startMessage); inputBuffer.Post(pickAnswerMessage); PlayerConfiguration configuration = GenerateSampleConfiguration(); var player = new Models.Player(configuration, inputBuffer, new TcpSocketClient <Message, Message>(logger), logger); // Act bool expectedHasPieceValue = true; var expectedDistance = int.MaxValue; await player.AcceptMessage(CancellationToken.None); await player.AcceptMessage(CancellationToken.None); var realHasPieceValue = player.HasPiece; var realDistToClosestPiece = player.Board[player.Position.y, player.Position.x].DistToPiece; // Assert Assert.Equal(expectedHasPieceValue, realHasPieceValue); Assert.Equal(expectedDistance, realDistToClosestPiece); }
public async Task TestAcceptMessageDestructionAnswerShouldDestroyHoldingPiece() { // Arrange EmptyAnswerPayload destructionPayload = new EmptyAnswerPayload(); Message destructionMessage = new Message(MessageID.DestructionAnswer, agentID, destructionPayload); EmptyAnswerPayload pickPayload = new EmptyAnswerPayload(); Message pickMessage = new Message(MessageID.PickAnswer, agentID, pickPayload); Message startMessage = CreateStartMessage(); BufferBlock <Message> inputBuffer = new BufferBlock <Message>(); inputBuffer.Post(startMessage); inputBuffer.Post(pickMessage); inputBuffer.Post(destructionMessage); PlayerConfiguration configuration = GenerateSampleConfiguration(); var player = new Player.Models.Player(configuration, inputBuffer, new TcpSocketClient <Message, Message>(logger), logger); // Act bool expectedHasPieceValue = false; await player.AcceptMessage(CancellationToken.None); await player.AcceptMessage(CancellationToken.None); await player.AcceptMessage(CancellationToken.None); bool realHasPieceValue = player.HasPiece; bool?realIsHeldPieceShamValue = player.IsHeldPieceSham; // Assert Assert.Equal(expectedHasPieceValue, realHasPieceValue); Assert.Null(realIsHeldPieceShamValue); }