Bug 326300 EPartService's activate(MPart) method may not work if you activate the window's active part
tests/org.eclipse.e4.ui.tests/src/org/eclipse/e4/ui/tests/application/EPartServiceTest.java
placeholdersA = modelService.findElements(perspectiveA,
				part.getElementId(), MPlaceholder.class, null);
		assertEquals(1, placeholdersA.size());
		assertEquals(part, placeholdersA.get(0).getRef());
		partsB = modelService.findElements(perspectiveB, part.getElementId(),
				MPart.class, null);
		assertEquals(1, partsB.size());
		assertEquals(part, partsB.get(0));
		placeholdersB = modelService.findElements(perspectiveB,
				part.getElementId(), MPlaceholder.class, null);
		assertEquals(1, placeholdersB.size());
		assertEquals(part.getCurSharedRef(), placeholdersB.get(0));
	}
	public void testShowPart_Bug320578_D() {
		MApplication application = ApplicationFactoryImpl.eINSTANCE
				.createApplication();
		MWindow window = BasicFactoryImpl.eINSTANCE.createWindow();
		application.getChildren().add(window);
		application.setSelectedElement(window);
		MPartDescriptor partDescriptor = org.eclipse.e4.ui.model.application.descriptor.basic.impl.BasicFactoryImpl.eINSTANCE
				.createPartDescriptor();
		partDescriptor.setElementId("partId"); 
		application.getDescriptors().add(partDescriptor);
		MPart part = BasicFactoryImpl.eINSTANCE.createPart();
		part.setElementId("partId"); 
		window.getSharedElements().add(part);
		MPerspectiveStack perspectiveStack = AdvancedFactoryImpl.eINSTANCE
				.createPerspectiveStack();
		window.getChildren().add(perspectiveStack);
		window.setSelectedElement(perspectiveStack);