Bug 299529 UI scheduling strategy causes injections to be delayed
tests/org.eclipse.e4.ui.tests/src/org/eclipse/e4/ui/tests/application/ESelectionServiceTest.java
MPart partA = MApplicationFactory.eINSTANCE.createPart();
		partA.setId("partA"); 
		window.getChildren().add(partA);
		window.setSelectedElement(partA);
		MPart partB = MApplicationFactory.eINSTANCE.createPart();
		partB.setId("partB"); 
		window.getChildren().add(partB);
		initialize(applicationContext, application);
		getEngine().createGui(window);
		IEclipseContext contextA = partA.getContext();
		IEclipseContext contextB = partB.getContext();
		IEclipseContext windowContext = window.getContext();
		ESelectionService serviceA = (ESelectionService) contextA
				.get(ESelectionService.class.getName());
		ESelectionService serviceB = (ESelectionService) contextB
				.get(ESelectionService.class.getName());
		ESelectionService windowService = (ESelectionService) windowContext
				.get(ESelectionService.class.getName());
		EPartService partService = (EPartService) windowContext
				.get(EPartService.class.getName());
		Object selectionA = new Object();
		Object selectionB = new Object();
		SelectionListener listener = new SelectionListener();
		windowService.addSelectionListener("partB", listener); 
		serviceA.setSelection(selectionA);
		assertNull(listener.getPart());
		assertNull(listener.getSelection());
		listener.reset();
		partService.activate(partB);
		assertEquals(partB, listener.getPart());