@Test public void shouldSucceedOnNoEvents() { assertNoError(ImmutableList.<Event>of()); }
@Test public void successiveRefreshesShouldSucceed() { ImmutableList<Event> list = ImmutableList.<Event>builder() .add(TestEventUtils.invokeLock(0, PROCESS_1)) .add(TestEventUtils.lockSuccess(1, PROCESS_1)) .add(TestEventUtils.invokeRefresh(2, PROCESS_1)) .add(TestEventUtils.refreshSuccess(3, PROCESS_1)) .add(TestEventUtils.invokeRefresh(4, PROCESS_1)) .add(TestEventUtils.refreshSuccess(5, PROCESS_1)) .build(); assertNoError(list); }
@Test public void simpleOverlappingRefreshesOnDifferentLocksShouldSucceed() { ImmutableList<Event> list = ImmutableList.<Event>builder() .add(TestEventUtils.invokeLock(0, PROCESS_1)) .add(TestEventUtils.lockSuccess(1, PROCESS_1)) .add(TestEventUtils.invokeLock(2, PROCESS_2, ALT_LOCK)) .add(TestEventUtils.lockSuccess(3, PROCESS_2)) .add(TestEventUtils.invokeRefresh(4, PROCESS_1)) .add(TestEventUtils.invokeRefresh(4, PROCESS_2, ALT_LOCK)) .add(TestEventUtils.refreshSuccess(5, PROCESS_1)) .add(TestEventUtils.refreshSuccess(5, PROCESS_2)) .build(); assertNoError(list); }
@Test public void simpleNonOverlappingRefreshesShouldSucceed() { ImmutableList<Event> list = ImmutableList.<Event>builder() .add(TestEventUtils.invokeLock(0, PROCESS_1)) .add(TestEventUtils.lockSuccess(1, PROCESS_1)) .add(TestEventUtils.invokeRefresh(2, PROCESS_1)) .add(TestEventUtils.invokeLock(2, PROCESS_2)) .add(TestEventUtils.lockSuccess(3, PROCESS_2)) .add(TestEventUtils.refreshSuccess(3, PROCESS_1)) .add(TestEventUtils.invokeRefresh(4, PROCESS_2)) .add(TestEventUtils.refreshSuccess(5, PROCESS_2)) .build(); assertNoError(list); }
@Test public void anotherProcessCanGrabLockAtLastRefreshInvoke() { ImmutableList<Event> list = ImmutableList.<Event>builder() .add(TestEventUtils.invokeLock(0, PROCESS_1)) .add(TestEventUtils.lockSuccess(1, PROCESS_1)) .add(TestEventUtils.invokeRefresh(2, PROCESS_1)) .add(TestEventUtils.invokeLock(2, PROCESS_2)) .add(TestEventUtils.lockSuccess(2, PROCESS_2)) .add(TestEventUtils.invokeRefresh(3, PROCESS_2)) .add(TestEventUtils.refreshSuccess(4, PROCESS_2)) .add(TestEventUtils.refreshSuccess(4, PROCESS_1)) .build(); assertNoError(list); }