public static void assertNoEvents(Handle<EventLogger> eventLogger) { assertTrue(eventLogger.getCounterListener().eventLog.isEmpty()); }
public static void assertNextValidEvent(Handle<EventLogger> eventLogger, long oldValue, long newValue) throws InterruptedException { CounterEvent event = eventLogger.getCounterListener().waitingPoll(); assertValidEvent(event, oldValue, newValue); }
l.getCounterListener().assertEvent(0, CounterState.VALID, 1, CounterState.VALID); l.getCounterListener().assertEvent(1, CounterState.VALID, 2, CounterState.VALID); l.getCounterListener().assertEvent(2, CounterState.VALID, 2, CounterState.UPPER_BOUND_REACHED); assertTrue(l.getCounterListener().queue.isEmpty()); l.getCounterListener().assertEvent(2, CounterState.UPPER_BOUND_REACHED, 1, CounterState.VALID); l.getCounterListener().assertEvent(1, CounterState.VALID, 0, CounterState.VALID); l.getCounterListener().assertEvent(0, CounterState.VALID, -1, CounterState.VALID); l.getCounterListener().assertEvent(-1, CounterState.VALID, -2, CounterState.VALID); eventuallyEquals(-2L, () -> counters[0].sync().getValue()); counters[0].decrementAndGet(); l.getCounterListener().assertEvent(-2, CounterState.VALID, -2, CounterState.LOWER_BOUND_REACHED); assertTrue(l.getCounterListener().queue.isEmpty()); eventuallyEquals(-2L, () -> counters[0].sync().getValue()); counters[0].incrementAndGet(); assertTrue(l.getCounterListener().queue.isEmpty());
public void testSimpleListener(Method method) throws Exception { final String counterName = method.getName(); final TestCounter[] counters = new TestCounter[clusterSize()]; for (int i = 0; i < clusterSize(); ++i) { counters[i] = createCounter(counterManager(i), counterName); } Handle<ListenerQueue> l = counters[0].addListener(new ListenerQueue(counterName)); incrementInEachCounter(counters); ListenerQueue lq = l.getCounterListener(); printQueue(lq); lq.assertEvent(0, CounterState.VALID, 1, CounterState.VALID); lq.assertEvent(1, CounterState.VALID, 2, CounterState.VALID); lq.assertEvent(2, CounterState.VALID, 3, CounterState.VALID); lq.assertEvent(3, CounterState.VALID, 4, CounterState.VALID); assertEquals(4L, counters[0].getValue()); l.remove(); incrementInEachCounter(counters); assertTrue(l.getCounterListener().queue.isEmpty()); }
public void testMultipleListeners(Method method) throws InterruptedException { final String counterName = method.getName(); final TestCounter[] counters = new TestCounter[clusterSize()]; final List<Handle<ListenerQueue>> listeners = new ArrayList<>(clusterSize()); for (int i = 0; i < clusterSize(); ++i) { counters[i] = createCounter(counterManager(i), counterName); listeners.add(counters[i].addListener(new ListenerQueue(counterName + "-listener-" + i))); } incrementInEachCounter(counters); for (int i = 0; i < clusterSize(); ++i) { ListenerQueue lq = listeners.get(i).getCounterListener(); printQueue(lq); lq.assertEvent(0, CounterState.VALID, 1, CounterState.VALID); lq.assertEvent(1, CounterState.VALID, 2, CounterState.VALID); lq.assertEvent(2, CounterState.VALID, 3, CounterState.VALID); lq.assertEvent(3, CounterState.VALID, 4, CounterState.VALID); assertEquals(4L, counters[i].getValue()); } }
private void assertNextEvent(Handle<EventLogger> handle, long oldValue, CounterState oldState, long newValue, CounterState newState) throws InterruptedException { CounterEvent event = handle.getCounterListener().waitingPoll(); assertNotNull(event); assertEquals(oldValue, event.getOldValue()); assertEquals(oldState, event.getOldState()); assertEquals(newValue, event.getNewValue()); assertEquals(newState, event.getNewState()); } }
ListenerQueue lq = l1.getCounterListener(); printQueue(lq); lq.assertEvent(0, CounterState.VALID, 1, CounterState.VALID); lq.assertEvent(3, CounterState.VALID, 4, CounterState.VALID); lq = l2.getCounterListener(); printQueue(lq); lq.assertEvent(0, CounterState.VALID, 1, CounterState.VALID); lq = l1.getCounterListener(); printQueue(lq); lq.assertEvent(4, CounterState.VALID, 3, CounterState.VALID); lq.assertEvent(1, CounterState.VALID, 0, CounterState.VALID); lq = l2.getCounterListener(); printQueue(lq); lq.assertEvent(4, CounterState.VALID, 3, CounterState.VALID);