@Test
public void testConvertFull() {

  FactSEB seb = FactSEB.builder()
          .setId(UUID.randomUUID())
          .setType(FactTypeInfoSEB.builder().setId(UUID.randomUUID()).build())
          .setValue("value")
          .setInReferenceTo(FactInfoSEB.builder().setId(UUID.randomUUID()).build())
          .setOrganization(OrganizationInfoSEB.builder().setId(UUID.randomUUID()).build())
          .setOrigin(OriginInfoSEB.builder().setId(UUID.randomUUID()).build())
          .setAddedBy(SubjectInfoSEB.builder().setId(UUID.randomUUID()).build())
          .setAccessMode(FactSEB.AccessMode.Explicit)
          .setConfidence(0.1f)
          .setTrust(0.2f)
          .setTimestamp(123456789)
          .setLastSeenTimestamp(987654321)
          .addAclEntry(AclEntrySEB.builder().setSubject(SubjectInfoSEB.builder().setId(UUID.randomUUID()).build()).build())
          .build();
  FactDocument document = converter.apply(seb);
  assertNotNull(document);
  assertEquals(seb.getId(), document.getId());
  assertEquals(seb.getType().getId(), document.getTypeID());
  assertEquals(seb.getValue(), document.getValue());
  assertEquals(seb.getInReferenceTo().getId(), document.getInReferenceTo());
  assertEquals(seb.getOrganization().getId(), document.getOrganizationID());
  assertEquals(seb.getOrigin().getId(), document.getOriginID());
  assertEquals(seb.getAddedBy().getId(), document.getAddedByID());
  assertEquals(seb.getAccessMode().name(), document.getAccessMode().name());
  assertEquals(seb.getConfidence(), document.getConfidence(), 0.0);
  assertEquals(seb.getTrust(), document.getTrust(), 0.0);
  assertEquals(seb.getTimestamp(), document.getTimestamp());
  assertEquals(seb.getLastSeenTimestamp(), document.getLastSeenTimestamp());
  assertEquals(SetUtils.set(seb.getAcl(), entry -> entry.getSubject().getId()), document.getAcl());
}