Tests: Use Assert.EnterMultipleScope instead of Assert.Multiple
Test / Run tests (push) Successful in 2m6s
Test / Run tests (push) Successful in 2m6s
This commit is contained in:
@@ -8,7 +8,7 @@ namespace Tests.UnitTests.DocumentTests {
|
||||
public async Task Test_01_VirtualCreditNote() {
|
||||
using var doc = await CreditNote.Initialize(2020, 1, 101, null);
|
||||
var text = await Utils.GeneratePdfText(doc);
|
||||
Assert.Multiple(() => {
|
||||
using (Assert.EnterMultipleScope()) {
|
||||
Assert.That(text, Contains.Substring("""
|
||||
MUSTERMANN Max
|
||||
Winzerstraße 1
|
||||
@@ -32,7 +32,7 @@ namespace Tests.UnitTests.DocumentTests {
|
||||
"""));
|
||||
Assert.That(text, Contains.Substring("Gesamtbetrag: € 1 000,00"));
|
||||
Assert.That(text, Contains.Substring("Auszahlungsbetrag: € 1 000,00"));
|
||||
});
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -14,7 +14,7 @@ namespace Tests.UnitTests.DocumentTests {
|
||||
using var doc = new DeliveryAncmtList(filter, data);
|
||||
var text = await Utils.GeneratePdfText(doc, true);
|
||||
var table = Utils.ExtractTable(text);
|
||||
Assert.Multiple(() => {
|
||||
using (Assert.EnterMultipleScope()) {
|
||||
Assert.That(text, Contains.Substring("Anmeldeliste"));
|
||||
Assert.That(text, Contains.Substring("01.10.2020 – Matzen – GV Kabinettaktion"));
|
||||
Assert.That(table, Is.EqualTo(new string[][] {
|
||||
@@ -24,7 +24,7 @@ namespace Tests.UnitTests.DocumentTests {
|
||||
["01.10.2020", "104 WINZER Waltraud", "Wolkersdorf", "Grüner Veltliner", "-", "2 000"],
|
||||
["Gesamt:", "Anmeldungen: 4", "25 000"],
|
||||
}));
|
||||
});
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -13,7 +13,7 @@ namespace Tests.UnitTests.DocumentTests {
|
||||
var data = await DeliveryConfirmationDeliveryData.ForMember(ctx.DeliveryParts, 2020, m!);
|
||||
using var doc = new DeliveryConfirmation(2020, m!, null, data);
|
||||
var text = await Utils.GeneratePdfText(doc);
|
||||
Assert.Multiple(() => {
|
||||
using (Assert.EnterMultipleScope()) {
|
||||
Assert.That(text, Contains.Substring("""
|
||||
MUSTERMANN Max
|
||||
Winzerstraße 1
|
||||
@@ -39,7 +39,7 @@ namespace Tests.UnitTests.DocumentTests {
|
||||
Welschriesling 5 382 - 5 382
|
||||
12 442 3 129 15 571
|
||||
"""));
|
||||
});
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -13,7 +13,7 @@ namespace Tests.UnitTests.DocumentTests {
|
||||
using var doc = new DeliveryDepreciationList("Saison 2020", data);
|
||||
var text = await Utils.GeneratePdfText(doc, true);
|
||||
var table = Utils.ExtractTable(text);
|
||||
Assert.Multiple(() => {
|
||||
using (Assert.EnterMultipleScope()) {
|
||||
Assert.That(text, Contains.Substring("Abwertungsliste"));
|
||||
Assert.That(text, Contains.Substring("Saison 2020"));
|
||||
Assert.That(table, Is.EqualTo(new string[][] {
|
||||
@@ -26,7 +26,7 @@ namespace Tests.UnitTests.DocumentTests {
|
||||
["20201002X002 1 02.10.2020 09:28 Grüner Veltliner", "Bio", "78", "16,0", "2 901"],
|
||||
["Gesamt:", "(Teil-)Lieferungen: 3 (5)", "80", "16,3", "13 069"],
|
||||
}));
|
||||
});
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -13,7 +13,7 @@ namespace Tests.UnitTests.DocumentTests {
|
||||
using var doc = new DeliveryJournal("Saison 2020", data);
|
||||
var text = await Utils.GeneratePdfText(doc, true);
|
||||
var table = Utils.ExtractTable(text);
|
||||
Assert.Multiple(() => {
|
||||
using (Assert.EnterMultipleScope()) {
|
||||
Assert.That(text, Contains.Substring("Lieferjournal"));
|
||||
Assert.That(text, Contains.Substring("Saison 2020"));
|
||||
Assert.That(table, Is.EqualTo(new string[][] {
|
||||
@@ -42,7 +42,7 @@ namespace Tests.UnitTests.DocumentTests {
|
||||
["20201003X003", "2", "03.10.2020 15:15", "104 WINZER Waltraud", "Blauer Portugieser", "89", "18,1", "2 313"],
|
||||
["Gesamt:", "(Teil-)Lieferungen: 12 (23)", "82", "16,6", "58 886"],
|
||||
}));
|
||||
});
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -135,7 +135,7 @@ namespace Tests.UnitTests.DocumentTests {
|
||||
public async Task Test_05_DeliveryPartsWithModifier() {
|
||||
using var doc = await DeliveryNote.Initialize(2020, 2);
|
||||
var text = await Utils.GeneratePdfText(doc);
|
||||
Assert.Multiple(() => {
|
||||
using (Assert.EnterMultipleScope()) {
|
||||
Assert.That(text, Contains.Substring("""
|
||||
W&B Weinbauer GesbR
|
||||
WEINBAUER Wernhardt
|
||||
@@ -160,7 +160,7 @@ namespace Tests.UnitTests.DocumentTests {
|
||||
Waage: ?, ID: ? (gerebelt gewogen)
|
||||
Gesamt: 87 17,6 4 860
|
||||
"""));
|
||||
});
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -11,14 +11,14 @@ namespace Tests.UnitTests.DocumentTests {
|
||||
var m = await ctx.FetchMembers(104).SingleAsync();
|
||||
using var doc = new Letterhead(m!);
|
||||
var text = await Utils.GeneratePdfText(doc);
|
||||
Assert.Multiple(() => {
|
||||
using (Assert.EnterMultipleScope()) {
|
||||
Assert.That(text, Contains.Substring("WG Test | Genossenschaftsstraße 1 | 2120 Wolkersdorf"));
|
||||
Assert.That(text, Contains.Substring("""
|
||||
WINZER Waltraud
|
||||
Wiener Straße 15
|
||||
2120 Wolkersdorf im Weinviertel
|
||||
"""));
|
||||
});
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -8,7 +8,7 @@ namespace Tests.UnitTests.DocumentTests {
|
||||
public async Task Test_01_SimpleMember() {
|
||||
using var doc = await MemberDataSheet.Initialize(104);
|
||||
var text = await Utils.GeneratePdfText(doc);
|
||||
Assert.Multiple(() => {
|
||||
using (Assert.EnterMultipleScope()) {
|
||||
Assert.That(text, Contains.Substring("""
|
||||
WINZER Waltraud
|
||||
Wiener Straße 15
|
||||
@@ -32,7 +32,7 @@ namespace Tests.UnitTests.DocumentTests {
|
||||
Assert.That(text, Contains.Substring("IBAN: AT97 1234 5678 9012 3460"));
|
||||
Assert.That(text, Contains.Substring("Betriebs-Nr.: 0123498"));
|
||||
Assert.That(text, Contains.Substring("Stammgemeinde: Wolkersdorf"));
|
||||
});
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -13,7 +13,7 @@ namespace Tests.UnitTests.DocumentTests {
|
||||
using var doc = new MemberList("Alle Mitglieder", data);
|
||||
var text = await Utils.GeneratePdfText(doc, true);
|
||||
var table = Utils.ExtractTable(text);
|
||||
Assert.Multiple(() => {
|
||||
using (Assert.EnterMultipleScope()) {
|
||||
Assert.That(text, Contains.Substring("Mitgliederliste"));
|
||||
Assert.That(text, Contains.Substring("Alle Mitglieder"));
|
||||
Assert.That(table.Take(3), Is.EqualTo(new string[][] {
|
||||
@@ -21,7 +21,7 @@ namespace Tests.UnitTests.DocumentTests {
|
||||
["102 WEINBAUER Wernhardt", "Winzerstraße 2", "2223", "Hohenruppersdorf", "0123471", "0 Hohenruppersdorf"],
|
||||
[ "W&B Weinbauer GesbR", "Winzerstraße 2", "2223", "Hohenruppersdorf"],
|
||||
}));
|
||||
});
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -9,7 +9,7 @@ namespace Tests.UnitTests.DocumentTests {
|
||||
using var doc = await PaymentVariantSummary.Initialize(2020, 1);
|
||||
var text = await Utils.GeneratePdfText(doc, true);
|
||||
var table = Utils.ExtractTable(text);
|
||||
Assert.Multiple(() => {
|
||||
using (Assert.EnterMultipleScope()) {
|
||||
Assert.That(text, Contains.Substring("Auszahlungsvariante"));
|
||||
Assert.That(text, Contains.Substring(doc.Variant.Name));
|
||||
Assert.That(table.Skip(19).ToArray(), Is.EqualTo(new string[][] {
|
||||
@@ -18,7 +18,7 @@ namespace Tests.UnitTests.DocumentTests {
|
||||
["Grüner Veltliner", "3 219", "0", "0", "1 609,50"],
|
||||
["Qualitätswein", "73", "3 219", "0,5000", "-", "-", "-", "-", "1 609,50"]
|
||||
}));
|
||||
});
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -4,10 +4,13 @@ using NReco.PdfRenderer;
|
||||
using System.Text.RegularExpressions;
|
||||
|
||||
namespace Tests.UnitTests.DocumentTests {
|
||||
public static class Utils {
|
||||
public static partial class Utils {
|
||||
|
||||
private static readonly string FileName = Path.Combine(Path.GetTempPath(), "test_document.pdf");
|
||||
|
||||
[GeneratedRegex(@"\s{2,}")]
|
||||
private static partial Regex WideSpaces();
|
||||
|
||||
public static async Task<string> GeneratePdfText(Document doc, bool preserveLayout = false) {
|
||||
using (var ctx = new AppDbContext()) {
|
||||
await doc.Generate(ctx);
|
||||
@@ -22,11 +25,10 @@ namespace Tests.UnitTests.DocumentTests {
|
||||
}
|
||||
|
||||
public static string[][] ExtractTable(string text) {
|
||||
return text.Split('\n')
|
||||
.Select(row => Regex.Split(row, @"\s{2,}").Select(c => c.Trim()).Where(c => c.Length > 0).ToArray())
|
||||
return [.. text.Split('\n')
|
||||
.Select(row => WideSpaces().Split(row).Select(c => c.Trim()).Where(c => c.Length > 0).ToArray())
|
||||
.Where(row => row.Length >= 3)
|
||||
.Skip(1)
|
||||
.ToArray();
|
||||
.Skip(1)];
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -12,7 +12,7 @@ namespace Tests.UnitTests.DocumentTests {
|
||||
var data = await WineQualityStatisticsData.FromQuery(ctx.Deliveries.Where(d => d.Year == 2020).SelectMany(d => d.Parts));
|
||||
using var doc = new WineQualityStatistics("Saison 2020", data);
|
||||
var text = await Utils.GeneratePdfText(doc);
|
||||
Assert.Multiple(() => {
|
||||
using (Assert.EnterMultipleScope()) {
|
||||
Assert.That(text, Contains.Substring("Qualitätsstatistik"));
|
||||
Assert.That(text, Contains.Substring("Saison 2020"));
|
||||
Assert.That(text, Contains.Substring("""
|
||||
@@ -44,7 +44,7 @@ namespace Tests.UnitTests.DocumentTests {
|
||||
"- 0 0 " +
|
||||
"77 5 " + "11 568 " +
|
||||
"85 6 " + "17 561"));
|
||||
});
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user