Exemplo n.º 1
0
        public void ProperlyForwardsMultipleMessagesFromOneSender()
        {
            // Arrange
            var messages     = Fixture.CreateMany <string>().ToList();
            var bobDisplay   = new Mock <IReceivedMessagesHandler>();
            var aliceDisplay = new Mock <IReceivedMessagesHandler>();

            var mediator = new ChatRoomMediator();

            var bob   = new ChatClient("Bob", mediator, bobDisplay.Object);
            var alice = new ChatClient("Alice", mediator, aliceDisplay.Object);

            // Act
            foreach (var message in messages)
            {
                alice.SendMessageThroughMediator(message);
            }

            // Assert
            aliceDisplay.Verify(m => m.HandleReceivedMessage(It.IsAny <string>(), It.IsAny <string>()), Times.Never);
            foreach (var message in messages)
            {
                bobDisplay.Verify(m => m.HandleReceivedMessage("Alice", message), Times.Once);
            }
        }
Exemplo n.º 2
0
        public void ProperlyCountsOneMessage()
        {
            var message      = "Hi Counter!";
            var aliceDisplay = new Mock <IReceivedMessagesHandler>();

            var mediator = new ChatRoomMediator();

            var alice   = new ChatClient("Alice", mediator, aliceDisplay.Object);
            var counter = new ChatMessageCounter(mediator);

            alice.SendMessageThroughMediator(message);

            Assert.AreEqual(1, counter.Counter);
        }
Exemplo n.º 3
0
        public void ProperlyForwardsOneMessage()
        {
            var message      = "Hi Alice!";
            var bobDisplay   = new Mock <IReceivedMessagesHandler>();
            var aliceDisplay = new Mock <IReceivedMessagesHandler>();

            var mediator = new ChatRoomMediator();

            var bob   = new ChatClient("Bob", mediator, bobDisplay.Object);
            var alice = new ChatClient("Alice", mediator, aliceDisplay.Object);

            bob.SendMessageThroughMediator(message);

            aliceDisplay.Verify(d => d.HandleReceivedMessage(bob.Name, message), Times.Once);
            bobDisplay.Verify(d => d.HandleReceivedMessage(It.IsAny <string>(), It.IsAny <string>()), Times.Never);
        }
Exemplo n.º 4
0
        public void ProperlyCountsMultipleMessagesFromOneSender()
        {
            var messages     = Fixture.CreateMany <string>().ToList();
            var aliceDisplay = new Mock <IReceivedMessagesHandler>();

            var mediator = new ChatRoomMediator();

            var alice   = new ChatClient("Alice", mediator, aliceDisplay.Object);
            var counter = new ChatMessageCounter(mediator);

            foreach (var message in messages)
            {
                alice.SendMessageThroughMediator(message);
            }

            Assert.AreEqual(messages.Count, counter.Counter);
        }
Exemplo n.º 5
0
        public void ProperlyForwardsAndCountsMultipleMessagesFromMultipleSenders()
        {
            // Arrange
            var bobsMessages  = Fixture.CreateMany <string>().ToList();
            var aliceMessages = Fixture.CreateMany <string>().ToList();
            var bobDisplay    = new Mock <IReceivedMessagesHandler>();
            var aliceDisplay  = new Mock <IReceivedMessagesHandler>();

            var mediator = new ChatRoomMediator();

            var bob     = new ChatClient("Bob", mediator, bobDisplay.Object);
            var alice   = new ChatClient("Alice", mediator, aliceDisplay.Object);
            var counter = new ChatMessageCounter(mediator);

            // Act
            foreach (var aliceMessage in aliceMessages)
            {
                alice.SendMessageThroughMediator(aliceMessage);
            }

            foreach (var bobsMessage in bobsMessages)
            {
                bob.SendMessageThroughMediator(bobsMessage);
            }

            // Assert
            foreach (var aliceMessage in aliceMessages)
            {
                bobDisplay.Verify(m => m.HandleReceivedMessage("Alice", aliceMessage), Times.Once);
            }

            foreach (var bobsMessage in bobsMessages)
            {
                aliceDisplay.Verify(m => m.HandleReceivedMessage("Bob", bobsMessage), Times.Once);
            }

            Assert.AreEqual(bobsMessages.Count + aliceMessages.Count, counter.Counter);
        }
Exemplo n.º 6
0
 public ChatClient(string name, ChatRoomMediator mediator, IReceivedMessagesHandler receivedMessagesHandler)
 {
     throw new NotImplementedException();
 }
Exemplo n.º 7
0
 public ChatMessageCounter(ChatRoomMediator mediator)
 {
     throw new NotImplementedException();
 }