public void testMultipleReplacements() throws Exception { Graph graph1 = MemoryGraphFactory.getInstance().openGraph(); Graph graph2 = MemoryGraphFactory.getInstance().openGraph(); graph1.setStatement(XDIStatement.create("=a=b=c/+e/=f")); XDIArc from1 = XDIArc.create("=b"); List<XDIAddress> to1 = new ArrayList<XDIAddress> (); to1.add(XDIAddress.create("=x")); to1.add(XDIAddress.create("=y")); XDIArc from2 = XDIArc.create("=f"); List<XDIAddress> to2 = new ArrayList<XDIAddress> (); to2.add(XDIAddress.create("=m")); to2.add(XDIAddress.create("=n")); Map<XDIArc, Object> replacements = new HashMap<XDIArc, Object> (); replacements.put(from1, to1); replacements.put(from2, to2); CopyUtil.copyGraph(graph1, graph2, new ReplaceXDIAddressCopyStrategy(replacements)); assertTrue(graph2.containsStatement(XDIStatement.create("=a=x=c/+e/=m"))); assertTrue(graph2.containsStatement(XDIStatement.create("=a=x=c/+e/=n"))); assertTrue(graph2.containsStatement(XDIStatement.create("=a=y=c/+e/=m"))); assertTrue(graph2.containsStatement(XDIStatement.create("=a=y=c/+e/=n"))); assertEquals(graph2.getAllStatementCount(), 11); graph1.close(); graph2.close(); }
public void testDelRelationDelInnerRoot() throws Exception { Graph graph33 = this.getGraphFactory().openGraph(this.getClass().getName() + "-graph-33"); graph33.getRootContextNode().setContextNode(XDIArc.create("(=a/#b)")); assertEquals(graph33.getAllStatementCount(), 3); graph33.getRootContextNode().getContextNode(XDIArc.create("=a")).delRelations(XDIAddress.create("#b")); assertEquals(graph33.getAllStatementCount(), 1); assertFalse(graph33.containsStatement(XDIStatement.create("//(=a/#b)"))); assertTrue(graph33.containsStatement(XDIStatement.create("//=a"))); assertFalse(graph33.containsStatement(XDIStatement.create("=a/#b/(=a/#b)"))); graph33.clear(); graph33.getRootContextNode().setContextNode(XDIArc.create("(/#b)")); assertEquals(graph33.getAllStatementCount(), 2); graph33.getRootContextNode().delRelations(XDIAddress.create("#b")); assertEquals(graph33.getAllStatementCount(), 0); assertFalse(graph33.containsStatement(XDIStatement.create("//(/#b)"))); assertFalse(graph33.containsStatement(XDIStatement.create("/#b/(/#b)"))); graph33.clear(); graph33.close(); }
assertEquals(graph32.getAllStatementCount(), 3); assertTrue(graph32.containsStatement(XDIStatement.create("//(=a/#b)"))); assertTrue(graph32.containsStatement(XDIStatement.create("//=a"))); assertEquals(graph32.getAllStatementCount(), 2); assertTrue(graph32.containsStatement(XDIStatement.create("//(=a/)"))); assertTrue(graph32.containsStatement(XDIStatement.create("//=a"))); assertEquals(graph32.getAllStatementCount(), 2); assertTrue(graph32.containsStatement(XDIStatement.create("//(/#b)"))); assertTrue(graph32.containsStatement(XDIStatement.create("/#b/(/#b)"))); assertEquals(graph32.getAllStatementCount(), 1); assertTrue(graph32.containsStatement(XDIStatement.create("//(/)"))); graph32.clear(); assertEquals(graph32.getAllStatementCount(), 1); assertTrue(graph32.containsStatement(XDIStatement.create("//(=a)"))); graph32.clear(); assertEquals(graph32.getAllStatementCount(), 1); assertTrue(graph32.containsStatement(XDIStatement.create("//()"))); graph32.clear();