@Test
@SuppressWarnings("unchecked")
public void testShouldTerminate() {
int maxStepCount = 100;
Solver<Object> solver = mock(Solver.class);
TerminationCondition terminator = new StepCountTermination(solver, maxStepCount);
when(solver.getNumberOfSteps()).thenReturn(0);
assert terminator.shouldTerminate() == false;
when(solver.getNumberOfSteps()).thenReturn(99);
assert terminator.shouldTerminate() == false;
when(solver.getNumberOfSteps()).thenReturn(100);
assert terminator.shouldTerminate() == true;
when(solver.getNumberOfSteps()).thenReturn(1000);
assert terminator.shouldTerminate() == true;
}