public async Task SendFizzBuzzMessageHappyPath4()
        {
            var mockSender = new Mock <ISender>();

            var engine = new FizzBuzzEngine(mockSender.Object);

            await engine.SendFizzBuzzMessage(14);

            mockSender.Verify(m => m.SendAsync(
                                  It.Is <SenderMessage>(message => message.StringPayload == "14"),
                                  It.IsAny <CancellationToken>()),
                              Times.Once());
        }
        public async Task SendFizzBuzzMessageSadPath()
        {
            var mockSender = new Mock <ISender>();

            var engine = new FizzBuzzEngine(mockSender.Object);

            Func <Task> act = () => engine.SendFizzBuzzMessage(0);

            await act.Should().ThrowExactlyAsync <ArgumentOutOfRangeException>()
            .WithMessage("Must be greater than zero.*value*");

            mockSender.Verify(m => m.SendAsync(
                                  It.IsAny <SenderMessage>(),
                                  It.IsAny <CancellationToken>()),
                              Times.Never());
        }