From: Stefan F. <ste...@us...> - 2012-06-06 16:20:15
|
.classpath | 1 junit/rails/game/state/ActionChangeSetTest.java | 132 ++++++++++++++++++++++++ src/lib/mockito-1.9.0/mockito-all-1.9.0.jar |binary 3 files changed, 133 insertions(+) New commits: commit d3211b748be485c208d9a19a936f31976a7dc33d Author: Stefan Frey <ste...@we...> Date: Wed Jun 6 18:19:53 2012 +0200 added unit test for ActionChangeSetTest diff --git a/junit/rails/game/state/ActionChangeSetTest.java b/junit/rails/game/state/ActionChangeSetTest.java new file mode 100644 index 0000000..49489c1 --- /dev/null +++ b/junit/rails/game/state/ActionChangeSetTest.java @@ -0,0 +1,132 @@ +package rails.game.state; + +import static org.junit.Assert.*; +import static org.junit.matchers.JUnitMatchers.*; +import static org.mockito.Mockito.*; + +import org.junit.*; +import org.junit.runner.RunWith; +import org.mockito.Mock; +import org.mockito.runners.MockitoJUnitRunner; + +import rails.game.Player; +import rails.game.action.PossibleAction; + +@RunWith(MockitoJUnitRunner.class) +public class ActionChangeSetTest { + + @Mock + private Player player; + + @Mock + private PossibleAction action; + + @Mock + private Change change; + + @Mock + private State state; + + private ActionChangeSet changeSet; + + private ActionChangeSet closedSet; + + @Before + public void setup() { + when(change.getState()).thenReturn(state); + changeSet = new ActionChangeSet(player, action); + + closedSet = new ActionChangeSet(player, action); + closedSet.close(); + } + + @Test + public void testIsUndoableByPlayer() { + assertTrue(changeSet.isUndoableByPlayer(player)); + Player otherPlayer = mock(Player.class); + assertFalse(changeSet.isUndoableByPlayer(otherPlayer)); + } + + @Test + public void testActionChangeSet() { + assertNotNull(changeSet); + } + + @Test + public void testGetPlayer() { + assertSame(changeSet.getPlayer(), player); + } + + @Test + public void testGetAction() { + assertSame(changeSet.getAction(), action); + } + + @Test + public void testToString() { + assertNotNull(changeSet.toString()); + } + + @Test + public void testAddChange() { + changeSet.addChange(change); + verify(change).execute(); + verify(state).updateModels(); + } + + @Test(expected=IllegalStateException.class) + public void testAddChangeClosed() { + Change change = mock(Change.class); + closedSet.addChange(change); + } + + @Test + public void testClose() { + changeSet.close(); + assertTrue(changeSet.isClosed()); + } + + @Test + public void testReexecute() { + changeSet.addChange(change); + changeSet.close(); + changeSet.reexecute(); + verify(change, times(2)).execute(); + verify(state, times(2)).updateModels(); + } + + @Test(expected=IllegalStateException.class) + public void testReexecuteOpen() { + changeSet.reexecute(); + } + + @Test + public void testUnexecute() { + changeSet.addChange(change); + changeSet.close(); + changeSet.unexecute(); + verify(change).execute(); + verify(change).undo(); + verify(state, times(2)).updateModels(); + } + + @Test(expected=IllegalStateException.class) + public void testUnexecuteOpen() { + changeSet.unexecute(); + } + + @Test + public void testIsEmpty() { + assertTrue(changeSet.isEmpty()); + changeSet.addChange(change); + assertFalse(changeSet.isEmpty()); + } + + @Test + public void testGetStates() { + changeSet.addChange(change); + changeSet.close(); + assertThat(changeSet.getStates(), hasItem(state)); + } + +} commit 66d56a3a2f42e08071c442a3d6352ce86842748f Author: Stefan Frey <ste...@we...> Date: Wed Jun 6 18:19:11 2012 +0200 added mockito library diff --git a/.classpath b/.classpath index 4443a89..724802d 100644 --- a/.classpath +++ b/.classpath @@ -16,5 +16,6 @@ <classpathentry kind="lib" path="src/lib/logback-1.0.4/logback-classic-1.0.4.jar"/> <classpathentry kind="lib" path="src/lib/logback-1.0.4/logback-core-1.0.4.jar"/> <classpathentry kind="lib" path="src/lib/sl4j-1.6.5/slf4j-api-1.6.5.jar"/> + <classpathentry kind="lib" path="src/lib/mockito-1.9.0/mockito-all-1.9.0.jar"/> <classpathentry kind="output" path="classes"/> </classpath> diff --git a/src/lib/mockito-1.9.0/mockito-all-1.9.0.jar b/src/lib/mockito-1.9.0/mockito-all-1.9.0.jar new file mode 100644 index 0000000..273fd50 Binary files /dev/null and b/src/lib/mockito-1.9.0/mockito-all-1.9.0.jar differ |