### Question:
DefaultColumnEventPersistManager implements ColumnEventPersistManager { @Override public <T> void firePreEntity(T entity) { entityPrePersistEvent.fire(EntityPrePersist.of(entity)); }  @Override void firePreColumn(ColumnEntity entity); @Override void firePostColumn(ColumnEntity entity); @Override void firePreEntity(T entity); @Override void firePostEntity(T entity); @Override void firePreColumnEntity(T entity); @Override void firePostColumnEntity(T entity); @Override void firePreQuery(ColumnQuery query); @Override void firePreDeleteQuery(ColumnDeleteQuery query);  }### Answer:
@Test public void shouldFirePreEntity() { Jedi jedi = new Jedi(); jedi.name = "Luke"; subject.firePreEntity(jedi); ArgumentCaptor<EntityPrePersist> captor = ArgumentCaptor.forClass(EntityPrePersist.class); verify(entityPrePersistEvent).fire(captor.capture()); EntityPrePersist value = captor.getValue(); assertEquals(jedi, value.getValue()); }