### Question:
FactEdge implements Edge { public FactEntity getFact() { return fact; } FactEdge(ActGraph graph, UUID factID, UUID inVertexObjectID, UUID outVertexObjectID); @Override Iterator<Vertex> vertices(Direction direction); @Override Object id(); @Override String label(); @Override Graph graph(); @Override Iterator<Property<V>> properties(String... propertyKeys); @Override Property<V> property(String key, V value); @Override void remove(); @Override String toString(); @Override boolean equals(Object o); @Override int hashCode(); FactEntity getFact();  }### Answer:
@Test(expected = RuntimeException.class) public void testCreateEdgeWithoutFactType() { UUID factID = UUID.randomUUID(); when(getFactManager().getFact(factID)).thenReturn(new FactEntity() .setId(factID) .setTypeID(UUID.randomUUID()) .setValue("value") ); new FactEdge(getActGraph(), factID, UUID.randomUUID(), UUID.randomUUID()); }