private void assertProcessor(TopicProcessor<Integer> processor, boolean shared, @Nullable String name, @Nullable Integer bufferSize, @Nullable WaitStrategy waitStrategy, @Nullable Boolean autoCancel, @Nullable ExecutorService executor, @Nullable ExecutorService requestTaskExecutor) { String expectedName = name != null ? name : TopicProcessor.class.getSimpleName(); int expectedBufferSize = bufferSize != null ? bufferSize : Queues.SMALL_BUFFER_SIZE; boolean expectedAutoCancel = autoCancel != null ? autoCancel : true; WaitStrategy expectedWaitStrategy = waitStrategy != null ? waitStrategy : WaitStrategy.phasedOffLiteLock(200, 100, TimeUnit.MILLISECONDS); Class<?> sequencerClass = shared ? MultiProducerRingBuffer.class : SingleProducerSequencer.class; assertEquals(expectedName, processor.name); assertEquals(expectedBufferSize, processor.getBufferSize()); assertEquals(expectedAutoCancel, processor.autoCancel); assertEquals(expectedWaitStrategy.getClass(), processor.ringBuffer.getSequencer().waitStrategy.getClass()); assertEquals(sequencerClass, processor.ringBuffer.getSequencer().getClass()); if (executor != null) assertEquals(executor, processor.executor); if (requestTaskExecutor != null) assertEquals(requestTaskExecutor, processor.requestTaskExecutor); }