Skip to content

Commit 2471b1e

Browse files
committed
test updates
1 parent a61a69e commit 2471b1e

File tree

2 files changed

+53
-59
lines changed

2 files changed

+53
-59
lines changed

ZUGFeRD.Test/BasicTests.cs renamed to ZUGFeRD.Test/GlobalTests.cs

Lines changed: 53 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -25,13 +25,13 @@
2525
namespace s2industries.ZUGFeRD.Test
2626
{
2727
[TestClass]
28-
public class BasicTests : TestBase
28+
public class GlobalTests : TestBase
2929
{
3030
InvoiceProvider InvoiceProvider = new InvoiceProvider();
3131

3232

3333
[TestMethod]
34-
public void TestAutomaticLineIds()
34+
public void TestAutomaticLineIds(ZUGFeRDVersion version, Profile profile)
3535
{
3636
InvoiceDescriptor desc = this.InvoiceProvider.CreateInvoice();
3737
desc.TradeLineItems.Clear();
@@ -46,7 +46,7 @@ public void TestAutomaticLineIds()
4646

4747

4848
[TestMethod]
49-
public void TestManualLineIds()
49+
public void TestManualLineIds(ZUGFeRDVersion version, Profile profile)
5050
{
5151
InvoiceDescriptor desc = this.InvoiceProvider.CreateInvoice();
5252
desc.TradeLineItems.Clear();
@@ -59,7 +59,7 @@ public void TestManualLineIds()
5959

6060

6161
[TestMethod]
62-
public void TestCommentLine()
62+
public void TestCommentLine(ZUGFeRDVersion version, Profile profile)
6363
{
6464
string COMMENT = System.Guid.NewGuid().ToString();
6565
string CUSTOM_LINE_ID = System.Guid.NewGuid().ToString();
@@ -79,7 +79,7 @@ public void TestCommentLine()
7979
// test with manual line id
8080
desc = this.InvoiceProvider.CreateInvoice();
8181
numberOfTradeLineItems = desc.TradeLineItems.Count;
82-
desc.AddTradeLineCommentItem(CUSTOM_LINE_ID, COMMENT);
82+
desc.AddTradeLineCommentItem(lineID: CUSTOM_LINE_ID, comment: COMMENT);
8383

8484
Assert.AreEqual(numberOfTradeLineItems + 1, desc.TradeLineItems.Count);
8585
Assert.IsNotNull(desc.TradeLineItems[desc.TradeLineItems.Count - 1].AssociatedDocument);
@@ -105,5 +105,53 @@ public void TestGetVersion()
105105
path = _makeSurePathIsCrossPlatformCompatible(path);
106106
Assert.AreEqual(InvoiceDescriptor.GetVersion(path), ZUGFeRDVersion.Version23);
107107
} // !TestGetVersion()
108+
109+
110+
[TestMethod]
111+
[DataRow(ZUGFeRDVersion.Version1, Profile.Extended)]
112+
[DataRow(ZUGFeRDVersion.Version20, Profile.Extended)]
113+
[DataRow(ZUGFeRDVersion.Version23, Profile.Extended)]
114+
public void SavingThenReadingAppliedTradeTaxes(ZUGFeRDVersion version, Profile profile)
115+
{
116+
InvoiceDescriptor expected = InvoiceDescriptor.CreateInvoice("123", new DateTime(2024, 12, 5), CurrencyCodes.EUR);
117+
var lineItem = expected.AddTradeLineItem(name: "Something",
118+
grossUnitPrice: 9.9m,
119+
netUnitPrice: 9.9m,
120+
billedQuantity: 20m,
121+
taxType: TaxTypes.VAT,
122+
categoryCode: TaxCategoryCodes.S,
123+
taxPercent: 19m
124+
);
125+
lineItem.LineTotalAmount = 198m; // 20 * 9.9
126+
expected.AddApplicableTradeTax(
127+
basisAmount: lineItem.LineTotalAmount!.Value,
128+
percent: 19m,
129+
taxAmount: 29.82m, // 19% of 198
130+
typeCode: TaxTypes.VAT,
131+
categoryCode: TaxCategoryCodes.S,
132+
allowanceChargeBasisAmount: -5m
133+
);
134+
expected.LineTotalAmount = 198m;
135+
expected.TaxBasisAmount = 198m;
136+
expected.TaxTotalAmount = 29.82m;
137+
expected.GrandTotalAmount = 198m + 29.82m;
138+
expected.DuePayableAmount = expected.GrandTotalAmount;
139+
140+
using MemoryStream ms = new();
141+
expected.Save(ms, version, profile);
142+
ms.Seek(0, SeekOrigin.Begin);
143+
144+
InvoiceDescriptor actual = InvoiceDescriptor.Load(ms);
145+
146+
Assert.AreEqual(expected.Taxes.Count, actual.Taxes.Count);
147+
Assert.AreEqual(1, actual.Taxes.Count);
148+
Tax actualTax = actual.Taxes[0];
149+
Assert.AreEqual(198m, actualTax.BasisAmount);
150+
Assert.AreEqual(19m, actualTax.Percent);
151+
Assert.AreEqual(29.82m, actualTax.TaxAmount);
152+
Assert.AreEqual(TaxTypes.VAT, actualTax.TypeCode);
153+
Assert.AreEqual(TaxCategoryCodes.S, actualTax.CategoryCode);
154+
Assert.AreEqual(-5m, actualTax.AllowanceChargeBasisAmount);
155+
} // !SavingThenReadingAppliedTradeTaxes()
108156
}
109157
}

ZUGFeRD.Test/TestTaxes.cs

Lines changed: 0 additions & 54 deletions
This file was deleted.

0 commit comments

Comments
 (0)