private static string GetFormattedLine(Transaction transaction, Money balance) { return string.Format("| {0} | {1} | {2}", FormattedDate(transaction.Date), transaction.Money.FormattedAmount(), balance.FormattedAmount()); }
public void Print(IList<Transaction> transactions) { _Console.WriteLine(StatementHeader); var balance = new Money(transactions.Sum(a => a.Money.Amount)); foreach (var transaction in transactions.OrderByDescending(a => a.Date)) { _Console.WriteLine(GetFormattedLine(transaction, balance)); balance.Amount -= transaction.Money.Amount; } }
private static Transaction GetTransaction(Money money, DateTime date) { return new Transaction {Money = money, Date = date}; }
public void ReturnAmountAsFormattedString() { var money = new Money(2500m); Assert.AreEqual("2,500.00", money.FormattedAmount()); }
protected bool Equals(Money other) { return Amount == other.Amount; }