Skip to content
Open
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -127,6 +127,30 @@ public void testNonInterruptiveEventHelloWorld_asString()
lessThan(executionWait + 100));
}

@Test(description = "A test to check the complete non-interruptive event lifecycle")
public void testNonInterruptiveEventLifecycle() {
String myEvent = MyNonInterruptiveEvent.class.getTypeName();
String stepName = "eventLifecycle";
NonInterruptiveEvent nie = new MyNonInterruptiveEvent();

assertThat("The event should be stopped before it starts",
nie.getState(), equalTo(NonInterruptiveEvent.states.DEFINED));
assertThat("The event should be finished before it starts", nie.isFinished());

NonInterruptiveEvent startedEvent = PhasedEventManager.startEvent(myEvent, stepName);
assertThat("The event should be started", startedEvent.getState(),
equalTo(NonInterruptiveEvent.states.STARTED));
assertThat("The event should be running", !startedEvent.isFinished());

assertThat("The event should finish when waited on", startedEvent.waitTillStarted());
assertThat("The event should be finished after waiting", startedEvent.isFinished());

NonInterruptiveEvent finishedEvent = PhasedEventManager.finishEvent(myEvent, stepName);
assertThat("The manager should return the same event", finishedEvent, equalTo(startedEvent));
assertThat("The event should have a finished state", finishedEvent.getState(),
equalTo(NonInterruptiveEvent.states.FINISHED));
}

@Test
public void eventManagerTests() {
String myEvent = MyNonInterruptiveEvent.class.getTypeName();
Expand Down