}
@Test
public void testMessageSplitterRouter() throws Exception
{
OutboundEndpoint endpoint1 = getTestOutboundEndpoint("Test1endpoint", "test://endpointUri.1", null, new PayloadTypeFilter(Apple.class), null);
OutboundEndpoint mockendpoint1 = RouterTestUtils.createMockEndpoint(endpoint1);
OutboundEndpoint endpoint2 = getTestOutboundEndpoint("Test2Endpoint", "test://endpointUri.2", null, new PayloadTypeFilter(Orange.class), null);
OutboundEndpoint mockendpoint2 = RouterTestUtils.createMockEndpoint(endpoint2);
OutboundEndpoint endpoint3 = getTestOutboundEndpoint("Test3Endpoint", "test://endpointUri.3");
OutboundEndpoint mockendpoint3 = RouterTestUtils.createMockEndpoint(endpoint3);
OutboundEndpoint endpoint4 = getTestOutboundEndpoint("Test4endpoint",
"test://endpointUri.4?exchangePattern=request-response", null,
new PayloadTypeFilter(Apple.class), null);
OutboundEndpoint mockendpoint4 = RouterTestUtils.createMockEndpoint(endpoint4);
OutboundEndpoint endpoint5 = getTestOutboundEndpoint("Test5Endpoint",
"test://endpointUri.5?exchangePattern=request-response", null,
new PayloadTypeFilter(Orange.class), null);
OutboundEndpoint mockendpoint5 = RouterTestUtils.createMockEndpoint(endpoint5);
OutboundEndpoint endpoint6 = getTestOutboundEndpoint("Test6Endpoint",
"test://endpointUri.6?exchangePattern=request-response");
OutboundEndpoint mockendpoint6 = RouterTestUtils.createMockEndpoint(endpoint6);
ListMessageSplitter asyncSplitter = new ListMessageSplitter();
asyncSplitter.setMuleContext(muleContext);
asyncSplitter.setDisableRoundRobin(true);
asyncSplitter.setFilter(new PayloadTypeFilter(List.class));
asyncSplitter.addRoute(mockendpoint1);
asyncSplitter.addRoute(mockendpoint2);
asyncSplitter.addRoute(mockendpoint3);
ListMessageSplitter syncSplitter = new ListMessageSplitter();
syncSplitter.setMuleContext(muleContext);
syncSplitter.setDisableRoundRobin(true);
syncSplitter.setFilter(new PayloadTypeFilter(List.class));
syncSplitter.addRoute(mockendpoint4);
syncSplitter.addRoute(mockendpoint5);
syncSplitter.addRoute(mockendpoint6);
List<Object> payload = new ArrayList<Object>();
payload.add(new Apple());