Bug 326177 EPartService's getActivePart() does not appear to work properly for an application with multiple windows
Based on the code in PartServiceCreationFunction, the EPartService implementation being returned when an application's context is queried seems to be a window-level EPartService implementation.
tests/org.eclipse.e4.ui.tests/src/org/eclipse/e4/ui/tests/application/EPartServiceTest.java
}
	public void testGetDirtyParts3_TrueTrue() {
		testGetDirtyParts3(true, true);
	}
	public void testGetDirtyParts3_TrueFalse() {
		testGetDirtyParts3(true, false);
	}
	public void testGetDirtyParts3_FalseTrue() {
		testGetDirtyParts3(false, true);
	}
	public void testGetDirtyParts3_FalseFalse() {
		testGetDirtyParts3(false, false);
	}
	public void testEvent_PartActivated() {
		MApplication application = createApplication("partFront", "partBack");
		MWindow window = application.getChildren().get(0);
		MPartStack partStack = (MPartStack) window.getChildren().get(0);
		MPart partFront = (MPart) partStack.getChildren().get(0);
		MPart partBack = (MPart) partStack.getChildren().get(1);
		partStack.setSelectedElement(partFront);
		getEngine().createGui(window);
		EPartService partService = (EPartService) window.getContext().get(
				EPartService.class.getName());
		assertEquals(partFront, partService.getActivePart());
		PartListener partListener = new PartListener();
		partService.addPartListener(partListener);
		partService.activate(partBack);
		assertEquals(1, partListener.getActivated());
		assertEquals(partBack, partListener.getActivatedParts().get(0));
		assertTrue(partListener.isValid());