Zurück |  | Weiter

## 3.4. Anzahl verschiedener PDF-Bestandteile

### Überblick

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.

### Beispiele

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.

Zurück | Nach oben | Weiter
3.3. Anhänge (Attachments) | Zum Anfang | 3.5. Barcode