Exemple #1
0
        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();
        }
Exemple #3
0
 public void Dispose()
 {
     _client.Dispose();
     _communicator.Dispose();
 }