Automatisch erzeugte PDF-Dokumente müssen gelegentlich einer bestimmten Version entsprechen, weil sie durch andere Werkzeuge weiterverarbeitet werden müssen. Das kann getestet werden:
// Simple tests: .hasVersion().matching(..) // Tests for version ranges: .hasVersion().greaterThan(..) .hasVersion().lessThan(..)
Für gängige PDF-Versionen gibt es Konstanten, die als Parameter verwendet werden:
// Constants for PDF versions: com.pdfunit.Constants.PDFVERSION_11 com.pdfunit.Constants.PDFVERSION_12 com.pdfunit.Constants.PDFVERSION_13 com.pdfunit.Constants.PDFVERSION_14 com.pdfunit.Constants.PDFVERSION_15 com.pdfunit.Constants.PDFVERSION_16 com.pdfunit.Constants.PDFVERSION_17
Ein Beispiel für den Test auf Version „1.4“:
@Test public void hasVersion_v14() throws Exception { String filename = "documentUnderTest.pdf"; AssertThat.document(filename) .hasVersion() .matching(PDFVERSION_14) ; }
Die gleichen Konstanten können als Ober- und Untergrenze genutzt werden:
@Test public void hasVersion_GreaterThanLessThan() throws Exception { String filename = "documentUnderTest.pdf"; AssertThat.document(filename) .hasVersion() .greaterThan(PDFVERSION_13) .lessThan(PDFVERSION_17) ; }
Auch zukünftige PDF-Versionen können getestet werden. Die erwartete Version muss als String im Format "%1.1f" angegeben werden.
@Test public void hasVersion_LessThanFutureVersion() throws Exception { String filename = "documentUnderTest.pdf"; PDFVersion futureVersion = PDFVersion.withValue("2.0"); AssertThat.document(filename) .hasVersion() .lessThan(futureVersion) ; }