{
Mock session = MuleTestUtils.getMockSession();
session.matchAndReturn("getFlowConstruct", getTestService());
session.matchAndReturn("setFlowConstruct", RouterTestUtils.getArgListCheckerFlowConstruct(), null);
OutboundEndpoint endpoint1 = getTestOutboundEndpoint("Test1endpoint", "test://endpointUri.1", null, new PayloadTypeFilter(Apple.class), null);
OutboundEndpoint endpoint2 = getTestOutboundEndpoint("Test2Endpoint", "test://endpointUri.2", null, new PayloadTypeFilter(Orange.class), null);
OutboundEndpoint endpoint3 = getTestOutboundEndpoint("Test3Endpoint", "test://endpointUri.3");
Mock mockendpoint1 = RouterTestUtils.getMockEndpoint(endpoint1);
Mock mockendpoint2 = RouterTestUtils.getMockEndpoint(endpoint2);
Mock mockendpoint3 = RouterTestUtils.getMockEndpoint(endpoint3);
OutboundEndpoint endpoint4 = getTestOutboundEndpoint("Test4endpoint",
"test://endpointUri.4?exchangePattern=request-response", null,
new PayloadTypeFilter(Apple.class), null);
OutboundEndpoint endpoint5 = getTestOutboundEndpoint("Test5Endpoint",
"test://endpointUri.5?exchangePattern=request-response", null,
new PayloadTypeFilter(Orange.class), null);
OutboundEndpoint endpoint6 = getTestOutboundEndpoint("Test6Endpoint",
"test://endpointUri.6?exchangePattern=request-response");
Mock mockendpoint4 = RouterTestUtils.getMockEndpoint(endpoint4);
Mock mockendpoint5 = RouterTestUtils.getMockEndpoint(endpoint5);
Mock mockendpoint6 = RouterTestUtils.getMockEndpoint(endpoint6);
ListMessageSplitter asyncSplitter = new ListMessageSplitter();
asyncSplitter.setMuleContext(muleContext);
asyncSplitter.setDisableRoundRobin(true);
asyncSplitter.setFilter(new PayloadTypeFilter(List.class));
asyncSplitter.addRoute((OutboundEndpoint) mockendpoint1.proxy());
asyncSplitter.addRoute((OutboundEndpoint) mockendpoint2.proxy());
asyncSplitter.addRoute((OutboundEndpoint) mockendpoint3.proxy());
ListMessageSplitter syncSplitter = new ListMessageSplitter();
syncSplitter.setMuleContext(muleContext);
syncSplitter.setDisableRoundRobin(true);
syncSplitter.setFilter(new PayloadTypeFilter(List.class));
syncSplitter.addRoute((OutboundEndpoint) mockendpoint4.proxy());
syncSplitter.addRoute((OutboundEndpoint) mockendpoint5.proxy());
syncSplitter.addRoute((OutboundEndpoint) mockendpoint6.proxy());
List<Object> payload = new ArrayList<Object>();
payload.add(new Apple());