package ngenes2.evolver.stop; import ngenes2.population.Population; import org.junit.Before; import org.junit.Test; import static org.junit.Assert.*; import static org.mockito.Mockito.*; public class OrConditionTest extends StopConditionContractTesst { private StopCondition condFalse; private StopCondition condTrue; @Before public void setup() { condFalse = mock(StopCondition.class); when(condFalse.shouldStop(anyInt(), any(Population.class))).thenReturn(false); condTrue = mock(StopCondition.class); when(condTrue.shouldStop(anyInt(), any(Population.class))).thenReturn(true); } @Test public void testOr() { assertEquals(false, new OrCondition(condFalse, condFalse).shouldStop(0, null)); assertEquals(true, new OrCondition(condFalse, condTrue).shouldStop(0, null)); assertEquals(true, new OrCondition(condTrue, condFalse).shouldStop(0, null)); assertEquals(true, new OrCondition(condTrue, condTrue).shouldStop(0, null)); } @Override protected StopCondition getStopCondition() { setup(); return new OrCondition(condTrue, condTrue); } @Override protected int getStoppingGeneration() { return 0; } @Override protected Population getStoppingPopulation() { return mock(Population.class); } }