public async Task TestAcceptMessagePutAnswerShouldChangeHasPieceValue() { // Arrange PlayerConfiguration configuration = GenerateSampleConfiguration(); BufferBlock <Message> inputBuffer = new BufferBlock <Message>(); ISocketClient <Message, Message> client = GenerateSocketClient(); var player = new Models.Player(configuration, inputBuffer, client, logger); Message messageStart = CreateStartMessage(); inputBuffer.Post(messageStart); await player.AcceptMessage(CancellationToken.None); Message pickMessage = new Message(MessageID.PickAnswer, agentID, new EmptyAnswerPayload()); inputBuffer.Post(pickMessage); await player.AcceptMessage(CancellationToken.None); PutAnswerPayload payload = new PutAnswerPayload() { PutEvent = PutEvent.NormalOnGoalField, }; Message putAnswer = new Message(MessageID.PutAnswer, agentID, payload); // Act inputBuffer.Post(putAnswer); await player.AcceptMessage(CancellationToken.None); // Assert bool hasPiece = player.HasPiece; Assert.False(hasPiece); }
public async Task TestAcceptMessagePutAnswerShouldMarkFields() { // Arrange PlayerConfiguration configuration = GenerateSampleConfiguration(); BufferBlock <Message> inputBuffer = new BufferBlock <Message>(); ISocketClient <Message, Message> client = GenerateSocketClient(); var player = new Models.Player(configuration, inputBuffer, client, logger); Message messageStart = CreateStartMessage(); inputBuffer.Post(messageStart); await player.AcceptMessage(CancellationToken.None); PutAnswerPayload payload = new PutAnswerPayload() { PutEvent = PutEvent.NormalOnGoalField, }; Message putAnswer = new Message(MessageID.PutAnswer, agentID, payload); // Act inputBuffer.Post(putAnswer); await player.AcceptMessage(CancellationToken.None); // Assert GoalInfo actualGoalInfo = player.Board[player.Position.y, player.Position.x].GoalInfo; Assert.Equal(GoalInfo.DiscoveredGoal, actualGoalInfo); }