private static ContextNode collapseContextNode(ContextNode contextNode) { if (contextNode.getContextNodeCount() != 1) return contextNode; if (contextNode.containsRelations()) return contextNode; if (contextNode.containsLiteralNode()) return contextNode; ContextNode childContextNode = contextNode.getContextNodes().next(); if (! (XdiAbstractEntity.isValid(contextNode) || XdiEntityCollection.isValid(contextNode)) && (XdiAbstractEntity.isValid(childContextNode) || XdiEntityCollection.isValid(childContextNode))) return contextNode; if (! (XdiAbstractAttribute.isValid(contextNode) || XdiAttributeCollection.isValid(contextNode)) && (XdiAbstractAttribute.isValid(childContextNode) || XdiAttributeCollection.isValid(childContextNode))) return contextNode; return collapseContextNode(childContextNode); }
private static void testGraphsEqual(Graph graph1, Graph graph2) throws Exception { ContextNode rootContextNode1 = graph1.getRootContextNode(); ContextNode rootContextNode2 = graph2.getRootContextNode(); assertTrue(rootContextNode1.getContextNodeCount() == rootContextNode2.getContextNodeCount()); assertTrue(rootContextNode1.getAllContextNodeCount() == rootContextNode2.getAllContextNodeCount()); assertTrue(rootContextNode1.getAllRelationCount() == rootContextNode2.getAllRelationCount()); assertTrue(rootContextNode1.getAllLiteralCount() == rootContextNode2.getAllLiteralCount()); } }
public void testDoubleSet() throws Exception { Graph graph29 = this.getGraphFactory().openGraph(this.getClass().getName() + "-graph-29"); ContextNode c = graph29.setDeepContextNode(XDIAddress.create("=markus")); ContextNode a = graph29.setDeepContextNode(XDIAddress.create("=animesh")); c.setContextNode(XDIArc.create("<#email>")); c.setContextNode(XDIArc.create("<#email>")); c.setRelation(XDIAddress.create("#friend"), a); c.setRelation(XDIAddress.create("#friend"), a); c.setRelation(XDIAddress.create("#friend"), XDIAddress.create("=animesh")); c.setRelation(XDIAddress.create("#friend"), XDIAddress.create("=animesh")); assertEquals(c.getContextNodeCount(), 1); assertEquals(c.getAllContextNodeCount(), 1); assertEquals(c.getRelationCount(XDIAddress.create("#friend")), 1); assertEquals(c.getRelationCount(), 1); assertEquals(c.getAllRelationCount(), 1); c.delContextNode(XDIArc.create("<#email>")); c.delRelation(XDIAddress.create("#friend"), XDIAddress.create("=animesh")); assertEquals(c.getContextNodeCount(), 0); assertEquals(c.getAllContextNodeCount(), 0); assertEquals(c.getRelationCount(XDIAddress.create("#friend")), 0); assertEquals(c.getRelationCount(), 0); assertEquals(c.getAllRelationCount(), 0); graph29.close(); }
assertFalse(root.getRelations().hasNext()); assertNull(root.getLiteralNode()); assertEquals(root.getContextNodeCount(), 0); assertEquals(root.getRelationCount(), 0); assertFalse(root.getAllContextNodes().hasNext()); assertNotNull(root.getRelations().next().follow()); assertNull(root.getLiteralNode()); assertEquals(root.getContextNodeCount(), 2); assertEquals(root.getRelationCount(), 1); assertTrue(root.getAllContextNodes().hasNext()); assertTrue(root.getRelations().hasNext()); assertNull(root.getLiteralNode()); assertEquals(root.getContextNodeCount(), 4); assertEquals(root.getRelationCount(), 1); assertTrue(root.getAllContextNodes().hasNext()); assertFalse(root.getRelations().hasNext()); assertNull(root.getLiteralNode()); assertEquals(root.getContextNodeCount(), 0); assertEquals(root.getRelationCount(), 0); assertFalse(root.getAllContextNodes().hasNext());
assertFalse(markus.getAllLeafContextNodes().hasNext()); try { markus.getAllLeafContextNodes().next(); fail(); } catch (NoSuchElementException ex) { } assertEquals(markus.getContextNodeCount(), 0); assertEquals(markus.getAllContextNodeCount(), 0);
assertEquals(arcs.size(), contextNodesArray[i].getContextNodeCount()); assertEquals(arcs.size(), new IteratorCounter(contextNodesArray[i].getContextNodes()).count()); for (Iterator<ContextNode> it = contextNodesArray[i].getContextNodes(); it.hasNext(); ) assertTrue(arcs.remove(it.next().getXDIArc()));
assertEquals(arcs.size(), contextNodesArray[i].getContextNodeCount()); assertEquals(arcs.size(), new IteratorCounter(contextNodesArray[i].getContextNodes()).count()); for (Iterator<ContextNode> it = contextNodesArray[i].getContextNodes(); it.hasNext(); ) assertTrue(arcs.remove(it.next().getXDIArc()));