Join state should not be entered

- Fix join pseudostate to be transient.
- Fix tests which uses wrong concepts.
- Fixes #222
This commit is contained in:
Janne Valkealahti
2016-05-06 17:24:54 +01:00
parent 2836902635
commit 12137222a8
9 changed files with 79 additions and 39 deletions

View File

@@ -146,10 +146,10 @@ public class StateMachineTests extends AbstractStateMachineTests {
assertThat(listener.stateChangedCount, is(1));
assertThat(machine.getState().getIds(), containsInAnyOrder(TestStates.S2, TestStates.S21, TestStates.S30));
listener.reset(3);
listener.reset(2);
machine.sendEvent(TestEvents.E3);
assertThat(listener.stateChangedLatch.await(2, TimeUnit.SECONDS), is(true));
assertThat(listener.stateChangedCount, is(3));
assertThat(listener.stateChangedCount, is(2));
assertThat(machine.getState().getIds(), containsInAnyOrder(TestStates.S4));
}

View File

@@ -70,10 +70,10 @@ public class JoinStateTests extends AbstractStateMachineTests {
assertThat(listener.stateChangedLatch.await(2, TimeUnit.SECONDS), is(true));
assertThat(listener.stateChangedCount, is(1));
listener.reset(3);
listener.reset(2);
machine.sendEvent(TestEvents.E3);
assertThat(listener.stateChangedLatch.await(2, TimeUnit.SECONDS), is(true));
assertThat(listener.stateChangedCount, is(3));
assertThat(listener.stateChangedCount, is(2));
assertThat(machine.getState().getIds(), contains(TestStates.S4));
}
@@ -144,10 +144,10 @@ public class JoinStateTests extends AbstractStateMachineTests {
assertThat(listener.stateChangedLatch.await(2, TimeUnit.SECONDS), is(true));
assertThat(listener.stateChangedCount, is(1));
listener.reset(3);
listener.reset(2);
machine.sendEvent(TestEvents.E3);
assertThat(listener.stateChangedLatch.await(2, TimeUnit.SECONDS), is(true));
assertThat(listener.stateChangedCount, is(3));
assertThat(listener.stateChangedCount, is(2));
assertThat(machine.getState().getIds(), contains(TestStates.S4));
}