public void given_new_account_should_show_balance_and_beginning_if_deposit_made() { // assemble const decimal AMOUNT_TO_DEPOSIT = 10; var newAgg = AccountAggregate.StartNewAccount(); // apply newAgg.Deposit(AMOUNT_TO_DEPOSIT); // assert var changes = newAgg.GetUncommittedChanges(); Assert.Equal(2, changes.Count()); Assert.Collection(changes, (e) => { Assert.IsType <AccountCreated>(e); }, (e) => { Assert.IsType <AmountDeposited>(e); var @event = (AmountDeposited)e; Assert.Equal(AMOUNT_TO_DEPOSIT, @event.Amount); }); Assert.Equal(AMOUNT_TO_DEPOSIT, newAgg.StartingBalance); Assert.Equal(AMOUNT_TO_DEPOSIT, newAgg.CurrentAccountBalance); }
public void given_new_account_should_have_create_event_with_non_empty_id() { // assemble // apply var newAgg = AccountAggregate.StartNewAccount(); // assert var changes = newAgg.GetUncommittedChanges(); Assert.Single(changes); Assert.Collection(changes, (e) => { Assert.IsType <AccountCreated>(e); var @event = (AccountCreated)e; Assert.Equal(0, @event.DepositAmount); }); Assert.NotEqual(Guid.Empty, newAgg.Id); Assert.Equal(0, newAgg.StartingBalance); }