public void Print_NoTransactions_PrintsHeader() { var emptyList = new List <Transaction>().AsReadOnly(); _statementPrinter.Print(emptyList); _console.Received().PrintLine("DATE | AMOUNT | BALANCE"); }
public void Always_Print_The_Header() { var NO_TRANSACTIONS = new List <Transaction>(); _consoleMock.Setup(mock => mock.WriteLine("DATE | AMOUNT | BALANCE")); statementPrinter.Print(NO_TRANSACTIONS); }
public void Always_Print_The_Header() { // Arrange // Act _statementPrinter.Print(NoTransactions); // Assert _console.Verify(x => x.PrintLine("DATE | AMOUNT | BALANCE")); }
public void PrintEmptyAccountIfNoStatements() { var statementPrinter = new StatementPrinter(); var result = statementPrinter.Print(); Assert.That(result, Is.EqualTo("Date||Credit||Debit||Balance\n")); }
public void Print_WhenNoTransactions_HeaderOnlyIsPrinted() { var console = new Mock <IConsole>(); var statementPrinter = new StatementPrinter(console.Object); statementPrinter.Print(new List <Transaction>()); console.Verify(x => x.PrintLine("DATE | AMOUNT | BALANCE")); }
public void AlwaysPrintTheHeader() { var statmentPrinter = new StatementPrinter(_console.Object); statmentPrinter.Print(new List <Transaction>()); _console.Verify(x => x.WriteLine("DATE | AMOUNT | BALANCE")); }
public void Always_Print_The_Header() { IConsole console = Substitute.For <IConsole>(); StatementPrinter statementPrinter = new StatementPrinter(console); statementPrinter.Print(NO_TRANSACTIONS); console.Received().PrintLine("DATE | AMOUNT | BALANCE"); }
public void PrintStatementWithNoTransactions() { var printer = new Mock <IPrinter>(); var sp = new StatementPrinter(printer.Object); var transactions = new List <Transaction>(); sp.Print(new ReadOnlyCollection <Transaction>(transactions)); printer.Verify(p => p.Print("Date || Amount || Balance"), Times.Once); }
public void PrintEmptyStatement() { var printer = new StatementPrinter(); var transactions = new List <Transaction>(); var printedStatement = printer.Print(transactions); var expectedStatement = StatementPrinter.HeaderFormat; Assert.Equal(expectedStatement, printedStatement); }
public void PrintDeposit() { var statementPrinter = new StatementPrinter(); statementPrinter.Add(new PrintableStatement(NewDeposit(1000), new Money(1000))); var result = statementPrinter.Print(); Assert.That(result, Is.EqualTo("Date||Credit||Debit||Balance\n" + "10/01/2012||||1000||1000\n")); }
public void write_header_to_console() { var mockOutputConsole = new Mock <OutputConsole>(); var statementPrinter = new StatementPrinter(mockOutputConsole.Object); var transactionLedger = new Mock <ITransactionLedger>(); statementPrinter.Print(transactionLedger.Object); mockOutputConsole.Verify(console => console.WriteLine("date || credit || debit || balance")); }
public void StatementPrinter_can_print_transaction(string dateString, int value, string expected) { var date = DateTime.Parse(dateString); var transaction = new Transaction(date, value); var transactions = new List <Transaction>(); transactions.Add(transaction); var statementPrinter = new StatementPrinter(); var result = statementPrinter.Print(transactions); Assert.AreEqual(expected, result); }
public void StatementPrinter_can_create_statement_as_defined_Kata() { var transactions = new List <Transaction>() { new Transaction(DateTime.Parse("14/01/2012"), -500), new Transaction(DateTime.Parse("13/01/2012"), 2000), new Transaction(DateTime.Parse("10/01/2012"), 1000) }; var printer = new StatementPrinter(); var result = printer.Print(transactions); var expected = $"14/01/2012,-500,2500;13/01/2012,2000,3000;10/01/2012,1000,1000;"; Assert.AreEqual(expected, result); }
public void test_statement_example() { plays.Add("hamlet", Play.Create("Hamlet", "tragedy")); plays.Add("as-like", Play.Create("As You Like It", "comedy")); plays.Add("othello", Play.Create("Othello", "tragedy")); Invoice invoice = new Invoice("BigCo", new List <Performance> { new Performance("hamlet", 55), new Performance("as-like", 35), new Performance("othello", 40) }); var result = statementPrinter.Print(invoice, plays); Approvals.Verify(result); }
public void test_statement_with_new_play_types() { var plays = new Dictionary <string, Play>(); plays.Add("henry-v", new Play("Henry V", "history")); plays.Add("as-like", new Play("As You Like It", "pastoral")); Invoice invoice = new Invoice("BigCoII", new List <Performance> { new Performance("henry-v", 53), new Performance("as-like", 55) }); StatementPrinter statementPrinter = new StatementPrinter(); Assert.Throws <Exception>(() => statementPrinter.Print(invoice, plays)); }
public void PrintStatementWithOneTransaction() { var ammount = 100; var transaction = new Transaction(DateTime.Now, ammount, ammount); var transactions = new List <Transaction>() { transaction }; var printer = new StatementPrinter(); var printedStatement = printer.Print(transactions); var expectedStatement = StatementPrinter.HeaderFormat + Environment.NewLine + PrintedTransaction(transaction); Assert.Equal(expectedStatement, printedStatement); }
public void test_statement_html_with_new_play_types() { var plays = new Dictionary <string, Play>(); plays.Add("henry-v", Play.CreatePlay("Henry V", "history")); plays.Add("as-like", Play.CreatePlay("As You Like It", "pastoral")); Invoice invoice = new Invoice("BigCoII", new List <Performance> { new Performance("henry-v", 53), new Performance("as-like", 55) }); StatementPrinter statementPrinter = new StatementPrinter(new HtmlStatementFormatter()); var result = statementPrinter.Print(invoice, plays); Approvals.Verify(result); }
public void test_statement_exemple() { var plays = new Dictionary <string, Play>(); plays.Add("hamlet", new Play("Hamlet", "tragedy")); plays.Add("as-like", new Play("As You Like It", "comedy")); plays.Add("othello", new Play("Othello", "tragedy")); Invoice invoice = new Invoice("BigCo", new List <Performance> { new Performance("hamlet", 55), new Performance("as-like", 35), new Performance("othello", 40) }); StatementPrinter statementPrinter = new StatementPrinter(); var result = statementPrinter.Print(invoice, plays); Approvals.Verify(result); }
public void Print_WhenMultipleTransactions_TransactionsPrintedInReverseChronologicalOrder() { var console = new Mock <IConsole>(); var statementPrinter = new StatementPrinter(console.Object); var transactions = new List <Transaction> { new Transaction(-50, "10/04/2014"), new Transaction(100, "12/04/2014"), new Transaction(1000, "11/04/2014") }; statementPrinter.Print(transactions); console.Verify(x => x.PrintLine("DATE | AMOUNT | BALANCE")); console.Verify(x => x.PrintLine("12/04/2014 | 100.00 | 1050.00")); console.Verify(x => x.PrintLine("11/04/2014 | 1000.00 | 950.00")); console.Verify(x => x.PrintLine("10/04/2014 | -50.00 | -50.00")); }
public void PrintTransactionsInAReverseChronologicalOrder() { IList <Transaction> transactions = new List <Transaction>(); transactions.Add(new Transaction { Money = new Money(1000m), Date = new DateTime(2012, 1, 10) }); transactions.Add(new Transaction { Money = new Money(-500m), Date = new DateTime(2012, 1, 14) }); transactions.Add(new Transaction { Money = new Money(2000m), Date = new DateTime(2012, 1, 13) }); _StatementPrinter.Print(transactions); _Console.Verify(a => a.WriteLine(StatementHeader)); _Console.Verify(a => a.WriteLine("| 14/01/2012 | -500.00 | 2,500.00")); _Console.Verify(a => a.WriteLine("| 13/01/2012 | 2,000.00 | 3,000.00")); _Console.Verify(a => a.WriteLine("| 10/01/2012 | 1,000.00 | 1,000.00")); }
public void Print_Transactions_In_Reverse_Chronological_Order() { IConsole console = Substitute.For <IConsole>(); StatementPrinter statementPrinter = new StatementPrinter(console); List <Transaction> transactions = new List <Transaction> { Deposit("01/04/2014", 1000), Withdrawal("02/04/2014", 100), Deposit("10/04/2014", 500) }; statementPrinter.Print(transactions); Received.InOrder(() => { console.PrintLine("DATE | AMOUNT | BALANCE"); console.PrintLine("10/04/2014 | 500.00 | 1400.00"); console.PrintLine("02/04/2014 | -100.00 | 900.00"); console.PrintLine("01/04/2014 | 1000.00 | 1000.00"); }); }
public void PrintStatementWithTwoTransactions() { var depositAmount = 100; var withdrawAmount = -50; var depositTransaction = new Transaction(DateTime.Now, depositAmount, depositAmount); var withdrawTransaction = new Transaction(DateTime.Now, withdrawAmount, depositAmount + withdrawAmount); var transactions = new List <Transaction>() { depositTransaction, withdrawTransaction }; var printer = new StatementPrinter(); var printedStatement = printer.Print(transactions); var expectedStatement = StatementPrinter.HeaderFormat + Environment.NewLine + PrintedTransaction(depositTransaction) + Environment.NewLine + PrintedTransaction(withdrawTransaction); Assert.Equal(expectedStatement, printedStatement); }
public void PrintTransactionsInReverseChronologicalOrder() { var statmentPrinter = new StatementPrinter(_console.Object); var transactions = new List <Transaction>() { //deposit new Transaction(DateTime.UtcNow, 1000), //withdrawal new Transaction(DateTime.UtcNow, -100), //deposit new Transaction(DateTime.UtcNow, 500), }; statmentPrinter.Print(transactions); _console.InSequence(new MockSequence()); _console.Verify(console => console.WriteLine("DATE | AMOUNT | BALANCE")); _console.Verify(console => console.WriteLine($"{DateTime.UtcNow} | 500.00 | 1400.00")); _console.Verify(console => console.WriteLine($"{DateTime.UtcNow} | -100.00 | 900.00")); _console.Verify(console => console.WriteLine($"{DateTime.UtcNow} | 1000.00 | 1000.00")); }
public void Print_AlwaysPrintsHeader() { _statementPrinter.Print(_noTransactions); _console.Verify(c => c.WriteLine("DATE | AMOUNT | BALANCE")); _console.VerifyNoOtherCalls(); }
public void PrintStatement() { var transactions = _transactionRepository.GetAllTransactions(); _printterStatemnt.Print(transactions); }
public void always_print_header() { _statementPrinter.Print(new List <Transaction>()); _console.Received().PrintLine("DATE | AMOUNT | BALANCE"); }