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
application.setSelectedElement(window);
		MPart part = BasicFactoryImpl.eINSTANCE.createPart();
		part.setVisible(visible);
		window.getChildren().add(part);
		if (selected) {
			window.setSelectedElement(part);
		}
		initialize(applicationContext, application);
		getEngine().createGui(window);
		EPartService partService = (EPartService) window.getContext().get(
				EPartService.class.getName());
		assertEquals(visible, partService.isPartVisible(part));
		partService = (EPartService) part.getContext().get(
				EPartService.class.getName());
		assertEquals(visible, partService.isPartVisible(part));
	}
	public void testIsPartVisible_NotInStackTrueTrue() {
		testIsPartVisible_NotInStack(true, true);
	}
	public void testIsPartVisible_NotInStackTrueFalse() {
		testIsPartVisible_NotInStack(true, false);
	}
	public void testIsPartVisible_NotInStackFalseTrue() {
		testIsPartVisible_NotInStack(false, true);
	}
	public void testIsPartVisible_NotInStackFalseFalse() {
		testIsPartVisible_NotInStack(false, false);
	}
	public void testIsPartVisible_ViewVisible() {
		MApplication application = createApplication("partId");