@Test
public void testSolverRun() {
AbstractSolver<Object> solver = spy(new AbstractSolverMock());
TerminationCondition terminationCondition = mock(TerminationCondition.class);
when(terminationCondition.shouldTerminate()).thenReturn(true);
solver.addTerminationCondition(terminationCondition);
@SuppressWarnings("unchecked")
SolverStateListener<Object> stateListener = mock(SolverStateListener.class);
solver.addStateListener(stateListener);