Sie können Texte auf beliebigen Seiten zweier PDF-Dokumente vergleichen. Das folgende Beispiel überprüft, dass der Text auf der ersten bzw. letzten Seite zweier Test-Dokumente übereinstimmt. Whitespaces werden dabei normalisiert:
@Test public void haveSameText_OnSinglePage() throws Exception { String filenameTest = "documentUnderTest.pdf"; String filenameReference = "reference.pdf"; AssertThat.document(filenameTest) .and(filenameReference) .restrictedTo(FIRST_PAGE) .haveSameText() ; AssertThat.document(filenameTest) .and(filenameReference) .restrictedTo(LAST_PAGE) .haveSameText() ; }
Ein Vergleich kann auf individuelle Seiten beschränkt werden. Alle Möglichkeiten, Seiten auszuwählen, werden in Kapitel 13.2: „Seitenauswahl“ beschrieben:
Zusätzlich kann der Textvergleich noch auf Seitenausschnitte beschränkt werden:
@Test public void haveSameText_InPageRegion() throws Exception { String filenameTest = "documentUnderTest.pdf"; String filenameReference = "reference.pdf"; int leftX = 17; int upperY = 254; int width = 53; int height = 11; PageRegion region = new PageRegion(leftX, upperY, width, height); AssertThat.document(filenameTest) .and(filenameReference) .restrictedTo(EVERY_PAGE) .restrictedTo(region) .haveSameText() ; }
Und wie bei anderen Tests auch, kann bei einem Textvergleich die Behandlung von Whitespaces gesteuert werden:
@Test public void haveSameText_IgnoreWhitespace() throws Exception { String filenameTest = "documentUnderTest.pdf"; String filenameReference = "reference.pdf"; int leftX = 17; int upperY = 254; int width = 53; int height = 11; PageRegion region = new PageRegion(leftX, upperY, width, height); AssertThat.document(filenameTest) .and(filenameReference) .restrictedTo(FIRST_PAGE) .restrictedTo(region) .haveSameText(WhitespaceProcessing.IGNORE) ; }