4.6. Dokumenteneigenschaften vergleichen

Es kann interessant sein, sicherzustellen, dass zwei Dokumente den gleichen Titel oder gleiche Schlüsselwörter haben. Insgesamt stehen folgende Vergleichsmethoden für Dokumenteneigenschaften zur Verfügung:

// Comparing document properties:

.haveSameAuthor()
.haveSameCreationDate()
.haveSameCreator()
.haveSameKeywords()
.haveSameLanguageInfo()
.haveSameModificationDate()
.haveSameProducer()
.haveSameProperties()
.haveSameProperty(String)
.haveSameSubject()
.haveSameTitle()

Als Beispiel für den Vergleich aller Eigenschaften soll hier stellvertretend der Vergleich der Autoren stehen:

@Test
public void haveSameAuthor() throws Exception {
  String filenameTest = "documentUnderTest.pdf";
  String filenameReference = "reference.pdf";
  
  AssertThat.document(filenameTest)
            .and(filenameReference) 
            .haveSameAuthor()
  ;
}

Der Vergleich von Custom-Eigenschaften ist mit der Methode haveSameProperty(..) möglich:

@Test
public void haveSameCustomProperty() throws Exception {
  String filenameTest = "documentUnderTest.pdf";
  String filenameReference = "reference.pdf";
  
  AssertThat.document(filenameTest)
            .and(filenameReference) 
            .haveSameProperty("Company")
            .haveSameProperty("SourceModified")
  ;
}

Mit dieser Methode können natürlich auch die Standardeigenschaften verglichen werden.

Um alle Eigenschaften zweier PDF-Dokumente miteinander zu vergleichen, gibt es noch die allgemeine Methode haveSameProperties():

@Test
public void haveSameProperties_AllProperties() throws Exception {
  String filenameTest = "documentUnderTest.pdf";
  String filenameReference = "reference.pdf";
  
  AssertThat.document(filenameTest)
            .and(filenameReference) 
            .haveSameProperties()
  ;
}