@Test @Ignore public void shouldCreateEpatchForMovedElement() throws Exception { // given ResourceSet rs = new ResourceSetImpl(); rs.getResourceFactoryRegistry() .getExtensionToFactoryMap() .put("ecore", new EcoreResourceFactoryImpl()); rs.getResourceFactoryRegistry() .getExtensionToFactoryMap() .put("xmi", new XMIResourceFactoryImpl()); // ...loaded metamodel Resource meta = rs.getResource(URI.createFileURI("res/in/movebug/MoveBug.ecore"), true); meta.load(null); // register package nsuri EPackage pckage = (EPackage) meta.getContents().get(0); rs.getPackageRegistry().put(pckage.getNsURI(), pckage); // ...loaded models Resource originModel = rs.getResource(URI.createFileURI("res/in/movebug/Original.xmi"), true); originModel.load(null); Resource changedModel = rs.getResource(URI.createFileURI("res/in/movebug/Moved.xmi"), true); changedModel.load(null); // when MatchModel matchModel = MatchService.doResourceMatch(originModel, changedModel, null); DiffModel diffModel = DiffService.doDiff(matchModel); // then // ... epatch creation fails because of move between different containers Epatch epatch = DiffEpatchService.createEpatch(matchModel, diffModel, "buggyPatch"); }