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); }