示例#1
0
        public void ReceivedMessagesAreIgnoredAfterSourceClientDisconnects()
        {
            var chatListener = new FakeServerChatListener();
            var sut = new ChatServerApplication(chatListener);
            sut.Start();
            var messageSource = new FakeCommunicationChannel();
            var messageRecipient = new FakeCommunicationChannel();
            chatListener.SimulateConnectToServer(messageRecipient);
            chatListener.SimulateConnectToServer(messageSource);
            chatListener.SimulateDisconnectFromServer(messageSource);

            messageSource.SimulateMessageReceived("foo");

            Assert.Null(messageRecipient.LastMessageSent);
        }
示例#2
0
        public void TheNumberOfConnectionsAfterOneDisconnect(int initialNumberOfConnections, int expected)
        {
            var serverChannel = new FakeServerChatListener();
            var sut = new ChatServerApplication(serverChannel);
            sut.Start();

            var connectedClients = new List<FakeCommunicationChannel>();

            for (int i = 0; i < initialNumberOfConnections; ++i)
            {
                connectedClients.Add(new FakeCommunicationChannel());
            }

            foreach(var client in connectedClients)
            {
                serverChannel.SimulateConnectToServer(client);
            }

            serverChannel.SimulateDisconnectFromServer(connectedClients[0]);
            Assert.Equal(expected, sut.NumberOfUsers);
        }