public void when_logging_overdue_payment()
        {
            var orderId         = Guid.NewGuid();
            var transactionDate = DateTime.UtcNow;
            var creditCardId    = Guid.NewGuid();

            _sut.When(new ReactToPaymentFailure
            {
                AccountId       = _accountId,
                OrderId         = orderId,
                IBSOrderId      = 5544,
                CreditCardId    = creditCardId,
                OverdueAmount   = 42.25m,
                TransactionDate = transactionDate,
                TransactionId   = "1337",
                FeeType         = FeeTypes.Booking
            });

            var @event1 = (OverduePaymentLogged)_sut.ThenHas <OverduePaymentLogged>().First();
            var @event2 = (CreditCardDeactivated)_sut.ThenHas <CreditCardDeactivated>().First();

            Assert.AreEqual(_accountId, @event1.SourceId);
            Assert.AreEqual(orderId, @event1.OrderId);
            Assert.AreEqual(5544, @event1.IBSOrderId);
            Assert.AreEqual(42.25m, @event1.Amount);
            Assert.AreEqual("1337", @event1.TransactionId);
            Assert.AreEqual(transactionDate, @event1.TransactionDate);
            Assert.AreEqual(FeeTypes.Booking, @event1.FeeType);

            Assert.AreEqual(_accountId, @event2.SourceId);
        }