Esempio n. 1
0
        public void GetNextTransaction_ThereIsNextTransaction_Transaction()
        {
            var transaction = new Transaction {
                Date = new DateTime(2019, 07, 11), MerchantName = "TELIA", Amount = 13.45m
            };

            _fileReaderMock.Setup(x => x.ReadTransactions())
            .Returns(new List <string> {
                "2019-07-11 TELIA\t13.45", "2019-07-22 TELIA\t22.22"
            });
            _transactionFormatterMock.Setup(x => x.Format("2019-07-11 TELIA\t13.45"))
            .Returns(transaction);

            var result = _sut.GetNextTransaction();

            result.Should().NotBeNull();
            result.Should().Be(transaction);

            _fileReaderMock.Verify(x => x.ReadTransactions(), Times.Once);
            _transactionFormatterMock.Verify(x => x.Format("2019-07-11 TELIA\t13.45"), Times.Once);
        }
Esempio n. 2
0
        public void Proceed()
        {
            while (true)
            {
                var transaction = _transactionReader.GetNextTransaction();

                if (transaction == null)
                {
                    break;
                }

                if (!transaction.EmptyLine)
                {
                    _transactionCharger.Charge(transaction);
                }

                _transactionFeeWriter.WriteNextTransactionFee(transaction);
            }
        }