You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
53 lines
1.2 KiB
53 lines
1.2 KiB
package de.edu.hsfulda.ciip.tdd;
|
|
|
|
import static org.hamcrest.CoreMatchers.equalTo;
|
|
import static org.hamcrest.CoreMatchers.not;
|
|
import static org.junit.Assert.*;
|
|
|
|
import java.util.Arrays;
|
|
import java.util.List;
|
|
|
|
import org.junit.Rule;
|
|
import org.junit.Test;
|
|
import org.mockito.Mock;
|
|
import org.mockito.junit.MockitoJUnit;
|
|
import org.mockito.junit.MockitoRule;
|
|
|
|
public class StatusAliveTest {
|
|
|
|
@Rule
|
|
public MockitoRule mockitoRule = MockitoJUnit.rule();
|
|
|
|
@Mock
|
|
State dead;
|
|
|
|
@Test
|
|
public void changeToDeadIfOneAliveNeighbor() {
|
|
// arrange
|
|
State stateAlive = new StateAlive();
|
|
List<State> neigborStates = Arrays.asList(stateAlive,dead,dead,dead,dead,dead,dead,dead);
|
|
|
|
// act
|
|
State result = stateAlive.nextBy(neigborStates);
|
|
|
|
// assert
|
|
assertNotNull("",result);
|
|
assertThat("changed to dead", result.getClass(), not(equalTo(stateAlive.getClass())));
|
|
}
|
|
|
|
@Test
|
|
public void KeepSateAliveWithTwoLivingNeighbors() {
|
|
// arrange
|
|
State stateAlive = new StateAlive();
|
|
List<State> neigborStates = Arrays.asList(stateAlive,stateAlive,dead,dead,dead,dead,dead,dead);
|
|
|
|
// act
|
|
State result = stateAlive.nextBy(neigborStates);
|
|
|
|
// assert
|
|
assertNotNull("",result);
|
|
assertThat("Still alive", result.getClass(), (equalTo(stateAlive.getClass())));
|
|
}
|
|
|
|
|
|
}
|