@Test public void testProcessEvent() { new Expectations() { { for (int i = 0; i < parallelism; i++) { processor.newProcessor(processor); result = processor; processor.onCreate(anyInt); } } }; pi.setupInstances(); instance = pi.getProcessingItemInstances().get(counter); new NonStrictExpectations() { { ThreadsEngine.getThreadWithIndex(anyInt); result = threadPool; } }; new Expectations() { { task = new ThreadsEventRunnable(instance, event); threadPool.submit(task); } }; pi.processEvent(event, counter); }
@Test public void testSetupInstances() { new Expectations() { { for (int i = 0; i < parallelism; i++) { processor.newProcessor(processor); result = processor; processor.onCreate(anyInt); } } }; pi.setupInstances(); List<ThreadsProcessingItemInstance> instances = pi.getProcessingItemInstances(); assertNotNull("List of PI instances is null.", instances); assertEquals( "Number of instances does not match parallelism.", parallelism, instances.size(), 0); for (int i = 0; i < instances.size(); i++) { assertNotNull("Instance " + i + " is null.", instances.get(i)); assertEquals( "Instance " + i + " is not a ThreadsWorkerProcessingItem.", ThreadsProcessingItemInstance.class, instances.get(i).getClass()); } }
@Test public void testConnectInputKeyStream() { new Expectations() { { destination = new StreamDestination(pi, parallelism, PartitioningScheme.GROUP_BY_KEY); stream.addDestination(destination); } }; pi.connectInputKeyStream(stream); }
@Test public void testConnectInputShuffleStream() { new Expectations() { { destination = new StreamDestination(pi, parallelism, PartitioningScheme.SHUFFLE); stream.addDestination(destination); } }; pi.connectInputShuffleStream(stream); }
@Test public void testConnectInputAllStream() { new Expectations() { { destination = new StreamDestination(pi, parallelism, PartitioningScheme.BROADCAST); stream.addDestination(destination); } }; pi.connectInputAllStream(stream); }
@Test public void testConstructor() { assertSame("Processor was not set correctly.", processor, pi.getProcessor()); assertEquals("Parallelism was not set correctly.", parallelism, pi.getParallelism(), 0); }
@Test(expected = IllegalStateException.class) public void testProcessEventError() { pi.processEvent(event, counter); }