using ImportAssist.Core; using Xunit; namespace ImportAssist.Core.Tests; public sealed class InvoiceAnalysisValidatorTests { [Theory] [InlineData(null, true)] [InlineData("INV-001", true)] [InlineData("", false)] [InlineData(" ", false)] [InlineData("\t", false)] [InlineData("\r\n", false)] public void Validate_ChecksInvoiceIdContract( string? invoiceId, bool expectedValid) { var analysis = new InvoiceAnalysis( Summary: "Testanalyse", Findings: [ new AnalysisFinding( LineNumber: 6, InvoiceId: invoiceId, RuleId: "INV-004", Description: "Betrag muss größer als null sein.", NextCheck: "Originalbetrag anhand des Belegs prüfen.", MissingInformation: ["Originalbetrag"]) ], Limitations: []); var errors = InvoiceAnalysisValidator.Validate(analysis); if (expectedValid) Assert.Empty(errors); else Assert.Single(errors); } }