示例#1
0
        public void DisposeMethodHappyPath()
        {
            var mockSender = new Mock <ISender>();
            Action <SenderMessage> validate = message => { };

            var validatingSender = new ValidatingSender("Foo", mockSender.Object, validate);

            validatingSender.Dispose();

            mockSender.Verify(m => m.Dispose(), Times.Once());
        }
示例#2
0
        public void ConstructorHappyPath()
        {
            var mockSender = new Mock <ISender>();
            Action <SenderMessage> validate = message => { };

            var validatingSender = new ValidatingSender("Foo", mockSender.Object, validate);

            validatingSender.Name.Should().Be("Foo");
            validatingSender.Sender.Should().BeSameAs(mockSender.Object);
            validatingSender.Validate.Should().BeSameAs(validate);
        }
示例#3
0
        public async Task SendAsyncMethodHappyPath()
        {
            var sentMessages = new List <SenderMessage>();

            var mockSender = new Mock <ISender>();
            Action <SenderMessage> validate = message => sentMessages.Add(message);

            var validatingSender = new ValidatingSender("Foo", mockSender.Object, validate);

            var message1 = new SenderMessage("Hello, world!");
            var message2 = new SenderMessage("Good-bye, cruel world!");

            await validatingSender.SendAsync(message1);

            await validatingSender.SendAsync(message2);

            mockSender.Verify(m => m.SendAsync(message1, default), Times.Once());
            mockSender.Verify(m => m.SendAsync(message2, default), Times.Once());

            sentMessages.Should().HaveCount(2);
            sentMessages[0].Should().Be(message1);
            sentMessages[1].Should().Be(message2);
        }