@Test
public void testGetStaticFactProperties() {

  FactRecord fact = new FactRecord()
          .setId(UUID.randomUUID())
          .setValue("someValue")
          .setOrganizationID(UUID.randomUUID())
          .setOriginID(UUID.randomUUID())
          .setAccessMode(FactRecord.AccessMode.Public)
          .setTimestamp(1L)
          .setLastSeenTimestamp(2L)
          .setAddedByID(UUID.randomUUID());
  when(subjectResolver.resolveSubject(fact.getAddedByID())).thenReturn(Subject.builder().setName("someSubjectName").build());
  when(organizationResolver.resolveOrganization(fact.getOrganizationID())).thenReturn(Organization.builder().setName("someOrgName").build());
  when(originResolver.apply(fact.getOriginID())).thenReturn(new OriginEntity().setName("someOriginName"));
  Map<String, ?> props = MapUtils.map(helper.getStaticFactProperties(fact), p -> T(p.getName(), p.getValue()));
  Map<String, ?> expected = MapUtils.map(
          T("accessMode", fact.getAccessMode().toString()),
          T("addedByID", fact.getAddedByID().toString()),
          T("addedByName", "someSubjectName"),
          T("certainty", 0.0f),
          T("confidence", 0.0f),
          T("trust", 0.0f),
          T("originID", fact.getOriginID().toString()),
          T("originName", "someOriginName"),
          T("organizationID", fact.getOrganizationID().toString()),
          T("organizationName", "someOrgName"),
          T("lastSeenTimestamp", 2L),
          T("timestamp", 1L),
          T("value", "someValue"),
          T("isRetracted", false));
  assertEqualMaps(expected, props);
}