public void Formatting_WithEntryHavingSingleDebitAndCredit_IsExpected() { var entry = new AccountingEntryBuilder() .WithLine(new CreditBuilder() .WithAccountNumber(3000) .WithProductName("Credit") .WithNetSum(1000) .WithVat(24) .WithVatType(VatType.Sale) .Build()) .WithLine(new DebitBuilder() .WithAccountNumber(1700) .WithProductName("Debit") .WithNetSum(1240) .WithVat(null) .WithVatType(VatType.Undefined) .Build()) .Build(); var sut = new AccountingEntryFormatCsvBuilder().Build(); var actual = sut.Format(entry); var expected = @" Account number;Product;Sum;Dimension;Dimension item;VAT %;VAT type 1700;Debit;1240;;;; 3000;Credit;-1000;;;24;S ".TrimStart(); Assert.AreEqual(expected, actual); }
public void Formatting_WithEntryHavingMultipleLines_IsExpected() { var entry = new AccountingEntryBuilder() .WithLine(new CreditBuilder() .WithAccountNumber(3100) .WithProductName("Product1") .WithNetSum(33) .WithVat(14) .WithVatType(VatType.Sale) .Build()) .WithLine(new CreditBuilder() .WithAccountNumber(3200) .WithProductName("Product2") .WithNetSum(89) .WithVat(10) .WithVatType(VatType.Purchase) .Build()) .WithLine(new DebitBuilder() .WithAccountNumber(1600) .WithProductName("Counter Transaction") .WithNetSum(135.52m) .WithVat(null) .WithVatType(VatType.Undefined) .Build()) .Build(); var sut = new AccountingEntryFormatCsvBuilder().Build(); var actual = sut.Format(entry); var expected = @" Account number;Product;Sum;Dimension;Dimension item;VAT %;VAT type 1600;Counter Transaction;135,52;;;; 3200;Product2;-89;;;10;P 3100;Product1;-33;;;14;S ".TrimStart(); Assert.AreEqual(expected, actual); }