Browse Source

Add metadata retrieval to ConformanceTestBase for enhanced document context

Marcin Ziąbek 1 month ago
parent
commit
9577b892ae
1 changed files with 14 additions and 0 deletions
  1. 14 0
      Source/QuestPDF.ConformanceTests/TestEngine/ConformanceTestBase.cs

+ 14 - 0
Source/QuestPDF.ConformanceTests/TestEngine/ConformanceTestBase.cs

@@ -1,5 +1,6 @@
 using QuestPDF.Drawing;
 using QuestPDF.Drawing;
 using QuestPDF.Fluent;
 using QuestPDF.Fluent;
+using QuestPDF.Helpers;
 using QuestPDF.Infrastructure;
 using QuestPDF.Infrastructure;
 
 
 namespace QuestPDF.ConformanceTests.TestEngine;
 namespace QuestPDF.ConformanceTests.TestEngine;
@@ -16,6 +17,7 @@ internal abstract class ConformanceTestBase
     public void GenerateAndShow()
     public void GenerateAndShow()
     {
     {
         GetDocumentUnderTest()
         GetDocumentUnderTest()
+            .WithMetadata(GetMetadata())
             .WithSettings(new DocumentSettings
             .WithSettings(new DocumentSettings
             {
             {
                 PDFA_Conformance = PDFA_Conformance.PDFA_3A
                 PDFA_Conformance = PDFA_Conformance.PDFA_3A
@@ -27,6 +29,7 @@ internal abstract class ConformanceTestBase
     public void Test_PDFA(PDFA_Conformance conformance)
     public void Test_PDFA(PDFA_Conformance conformance)
     {
     {
         GetDocumentUnderTest()
         GetDocumentUnderTest()
+            .WithMetadata(GetMetadata())
             .WithSettings(new DocumentSettings
             .WithSettings(new DocumentSettings
             {
             {
                 PDFA_Conformance = conformance
                 PDFA_Conformance = conformance
@@ -38,6 +41,7 @@ internal abstract class ConformanceTestBase
     public void Test_PDFUA(PDFUA_Conformance conformance)
     public void Test_PDFUA(PDFUA_Conformance conformance)
     {
     {
         GetDocumentUnderTest()
         GetDocumentUnderTest()
+            .WithMetadata(GetMetadata())
             .WithSettings(new DocumentSettings
             .WithSettings(new DocumentSettings
             {
             {
                 PDFUA_Conformance = conformance
                 PDFUA_Conformance = conformance
@@ -52,6 +56,16 @@ internal abstract class ConformanceTestBase
         GetDocumentUnderTest().TestSemanticTree(expectedSemanticTree);
         GetDocumentUnderTest().TestSemanticTree(expectedSemanticTree);
     }
     }
 
 
+    private DocumentMetadata GetMetadata()
+    {
+        return new DocumentMetadata
+        {
+            Language = "en-US",
+            Title = "Conformance Test",
+            Subject = this.GetType().Name.Replace("Tests", string.Empty).PrettifyName()
+        };
+    }
+
     protected abstract Document GetDocumentUnderTest();
     protected abstract Document GetDocumentUnderTest();
     
     
     protected abstract SemanticTreeNode? GetExpectedSemanticTree();
     protected abstract SemanticTreeNode? GetExpectedSemanticTree();