Nicht nur die Anzahl von Seiten können Testziel sein, auch andere zählbare Teile eines PDF-Dokumentes, wie Formularfelder, Lesezeichen etc. Die folgende Liste zeigt auf, welche Dinge gezählt und damit getestet werden können:
// Test counting parts of a PDF: .hasNumberOfActions(..) .hasNumberOfBookmarks(..) .hasNumberOfDifferentImages(..) .hasNumberOfEmbeddedFiles(..) .hasNumberOfFields(..) .hasNumberOfFonts(..) .hasNumberOfLayers(..) .hasNumberOfOCGs(..) .hasNumberOfPages(..) .hasNumberOfSignatures(..) .hasNumberOfVisibleImages(..)
Prüfungen auf die Anzahl von Bildern werden in Kapitel 3.7: „Bilder in Dokumenten“ beschrieben. |
|
Prüfungen auf die Anzahl von Seiten eines PDF-Dokumentes werden in Kapitel 3.25: „Seitenzahlen als Testziel“ beschrieben. |
Die Überprüfung der Anzahl von PDF-Teilen ist von der Art der Teile unabhängig. Deshalb werden hier nur zwei Beispiels gezeigt:
@Test public void hasNumberOfFields() throws Exception { String filename = "documentUnderTest.pdf"; AssertThat.document(filename) .hasNumberOfFields(4) ; }
@Test public void hasNumberOfBookmarks() throws Exception { String filename = "documentUnderTest.pdf"; AssertThat.document(filename) .hasNumberOfBookmarks(19) ; }
Alle Prüfungen können verkettet werden:
@Test public void testHugeDocument_MultipleInvocation() throws Exception { String filename = "documentUnderTest.pdf"; AssertThat.document(filename) .hasNumberOfPages(1370) .hasNumberOfBookmarks(565) .hasNumberOfActions(4814) .hasNumberOfEmbeddedFiles(0) ; }
Erfreulicherweise dauert dieser Test mit einem Dokument von 1370 Seiten auf einem zeitgemäß ausgerüsteten Entwickler-Notebook nur ca. 2,5 Sekunden.