Zurück |  | Weiter

## 4.8. Formularfelder vergleichen

### Anzahl

Der einfachste vergleichende Test für Felder ist der, festzustellen, dass beide Dokumente gleich viele Felder enthalten:

    @Test
    public void haveSameNumberOfFields() throws Exception {
      String filenameTest = "documentUnderTest.pdf";
      String filenameReference = "reference.pdf";

      AssertThat.document(filenameTest)
                .and(filenameReference)
                .haveSameNumberOfFields()
      ;
    }

### Feldnamen

Beim nächst größeren Test müssen neben der Anzahl auch die Namen der Felder in jedem PDF-Dokument gleich sein. Diese Aussage wird folgendermaßen getestet:

    @Test
    public void haveSameFields_ByName() throws Exception {
      String filenameTest = "documentUnderTest.pdf";
      String filenameReference = "reference.pdf";

      AssertThat.document(filenameTest)
                .and(filenameReference)
                .haveSameFieldsByName()
      ;
    }

### Feldinhalte

Wenn über die Namen von Feldern hinaus auch die Inhalte der Felder verglichen werden sollen, muss die Methode `haveSameFieldsByValue()` verwendet werden. Gleichnamige Felder müssen gleiche Inhalte haben, sonst schlägt der Test fehl:

    @Test
    public void haveSameFields_ByValue() throws Exception {
      String filenameTest = "documentUnderTest.pdf";
      String filenameReference = "reference.pdf";

      AssertThat.document(filenameTest)
                .and(filenameReference)
                .haveSameFieldsByValue()
      ;
    }

| Whitespaces werden für den Vergleich „normalisiert“, siehe 13.5: „Behandlung von Whitespaces“.

### Kombination mehrerer Tests

Unterschiedliche Vergleiche können in einem Testfall verkettet werden:

    @Test
    public void compareManyItems() throws Exception {
      String filenameTest = "documentUnderTest.pdf";
      String filenameReference = "reference.pdf";

      AssertThat.document(filenameTest)
                .and(filenameReference)
                .haveSameAppearance()
                .haveSameText
      ;
    }

Zurück | Nach oben | Weiter
4.7. Formate vergleichen | Zum Anfang | 4.9. JavaScript vergleichen