public void TestSendsStrategyMessages() { //given var expected = new Message <DiscoveryRequest>(new DiscoveryRequest()); var(agentSide, gmSide) = GetGmAgentConnections(); var strategyMock = new Mock <IStrategy>(); strategyMock.Setup(strategy => strategy.MakeDecision(It.IsAny <AgentInfo>())) .Returns(expected); AgentInfo agentInfo = new AgentInfo(strategyMock.Object, defaultGameStartedMessage); MessageHandler messageHandler = new MessageHandler(agentSide, agentInfo); new Task(() => messageHandler.HandleMessages()).Start(); //when Message actual = gmSide.Take(); //then Assert.AreEqual(expected.MessageId, actual.MessageId); //after gmSide.Dispose(); agentSide.Dispose(); }
public void TestCanTransferMessage() { Stream stream = new EchoStream(); Message <JoinGameRequest> expected = new Message <JoinGameRequest> (new JoinGameRequest { TeamId = "Hello" }); SenderReceiverQueueAdapter adapter = new SenderReceiverQueueAdapter( new StreamMessageSenderReceiver(stream, new Parser())); //when adapter.Send(expected); Message received = adapter.Take(); //then Assert.AreEqual(expected.MessagePayload.TeamId, ((Message <JoinGameRequest>)received).MessagePayload.TeamId); //after adapter.Dispose(); }
public void Dispose() { _client.Dispose(); _communicator.Dispose(); }