public async Task Withdraw_Invalid_NotExactlyAmount( decimal amount) { var presenter = new WithdrawPresenter(); var sut = new WithdrawTransactionUseCase( presenter, _fixture.ATMTransactionService); var actualEx = await Assert.ThrowsAsync <WithdrawValueCannotBeExactlyRepresentedException>( async() => await sut.ExecuteAsync(new WithdrawTransactionInput( new PositiveMoney(amount)))); Assert.Contains("cannot be exactly represente", actualEx.Message, StringComparison.OrdinalIgnoreCase); }
public async Task Withdraw_Valid_Amount2( decimal amount, IEnumerable <BillQuantity> expectedBills) { var presenter = new WithdrawPresenter(); var sut = new WithdrawTransactionUseCase( presenter, _fixture.ATMTransactionService); await sut.ExecuteAsync(new WithdrawTransactionInput( new PositiveMoney(amount))); var actual = presenter.WithdrawResponse; Assert.Equal(expectedBills, actual.BillQuantities); }