示例#1
0
        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);
        }
示例#2
0
        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);
        }