Ejemplo n.º 1
0
        public void GetStatementTransactions_ThreeTransactions_TransactionsShowInResult()
        {
            var amount1         = 1000;
            var amount2         = 2000;
            var amount3         = 500;
            var closingBalance1 = 1000;
            var closingBalance2 = 3000;
            var closingBalance3 = 2500;


            var mockDateProvider = GetMockDateProviderWithDatesForAcceptanceTestScenario(out var transactionDate1, out var transactionDate2, out var transactionDate3);
            var transactionRepo  = new TransactionRepo(mockDateProvider.Object);

            var subject = GetTestSubject(transactionRepo);

            subject.Deposit(amount1);
            subject.Deposit(amount2);
            subject.Withdraw(amount3);

            var transactions = transactionRepo.GetStatementTransactions();

            Assert.AreEqual(3, transactions.Count);

            Assert.AreEqual(amount1, transactions[0].Amount);
            Assert.AreEqual(transactionDate1, transactions[0].Date);
            Assert.AreEqual(closingBalance1, transactions[0].ClosingBalance);

            Assert.AreEqual(amount2, transactions[1].Amount);
            Assert.AreEqual(transactionDate2, transactions[1].Date);
            Assert.AreEqual(closingBalance2, transactions[1].ClosingBalance);

            Assert.AreEqual(amount3, transactions[2].Amount);
            Assert.AreEqual(transactionDate3, transactions[2].Date);
            Assert.AreEqual(closingBalance3, transactions[2].ClosingBalance);
        }
Ejemplo n.º 2
0
        public void PrintStatement()
        {
            _console.WriteLine("Date       || Amount || Balance");
            var transactionStatementLines = _transactionRepo.GetStatementTransactions();

            transactionStatementLines.Reverse();
            foreach (var line in transactionStatementLines)
            {
                var formatted = $"{line.Date} || {line.ChangeToClosingBalance} || {line.ClosingBalance}";
                _console.WriteLine(formatted);
            }
        }