public async void DeliverAsynchronouslyNotifiesWhenMailWasSent()
        {
            var sender = A.Fake<IMailSender>();
            var interceptor = A.Fake<IMailInterceptor>();
            var helper = new DeliveryHelper(sender, interceptor);
            var mail = new MailAttributes();

            await helper.DeliverAsync(mail);

            A.CallTo(() => interceptor.OnMailSent(A<MailAttributes>.Ignored)).MustHaveHappened();
        }
        public async void DeliverAsynchronouslyNotifiesWhenMailWasSent()
        {
            var sender      = A.Fake <IMailSender>();
            var interceptor = A.Fake <IMailInterceptor>();
            var helper      = new DeliveryHelper(sender, interceptor);
            var mail        = new MailAttributes();

            await helper.DeliverAsync(mail);

            A.CallTo(() => interceptor.OnMailSent(A <MailAttributes> .Ignored)).MustHaveHappened();
        }
        public async void DeliveryAsynchronouslySendsMessage()
        {
            var sender      = A.Fake <IMailSender>();
            var interceptor = A.Fake <IMailInterceptor>();
            var helper      = new DeliveryHelper(sender, interceptor);
            var mail        = new MailAttributes();

            await helper.DeliverAsync(mail);

            A.CallTo(() => sender.SendAsync(mail)).MustHaveHappened();
        }
        public async void DeliveryAsynchronouslySendsMessage()
        {
            var sender = A.Fake<IMailSender>();
            var interceptor = A.Fake<IMailInterceptor>();
            var helper = new DeliveryHelper(sender, interceptor);
            var mail = new MailAttributes();

            await helper.DeliverAsync(mail);

            A.CallTo(() => sender.SendAsync(mail)).MustHaveHappened();
        }