private static final int[] createNodes(RootGraph root, int numNodes) { final int[] returnThis = new int[numNodes]; for (int i = 0; i < returnThis.length; i++) returnThis[i] = root.createNode(); return returnThis; }
/** * DOCUMENT ME! * * @param args DOCUMENT ME! */ public static void main(String[] args) { final RootGraph root = FingRootGraphFactory.instantiateRootGraph(); final int n1 = root.createNode(); final int n2 = root.createNode(); final int e1 = root.createEdge(n1, n1, /* directed */ true); final GraphPerspective persp = root.createGraphPerspective((int[]) null, (int[]) null); if (persp.restoreEdge(e1) == 0) throw new IllegalStateException("could not restore valid edge"); final GraphPerspective persp2 = root.createGraphPerspective(null, new int[] { e1 }); if (!((persp2.getNodeCount() == 1) && (persp2.getEdgeCount() == 1))) throw new IllegalStateException("bad counts in perspective"); } }
/** * DOCUMENT ME! * * @param root DOCUMENT ME! * @param nodes DOCUMENT ME! * @param edgeSources DOCUMENT ME! * @param edgeTargets DOCUMENT ME! * @param edgeDirectedness DOCUMENT ME! */ public static final void testAddRemove(RootGraph root, int[] nodes, int[] edgeSources, int[] edgeTargets, boolean[] edgeDirectedness) { for (int i = 0; i < 10; i++) { for (int j = 0; j < nodes.length; j++) root.removeNode(nodes[j]); if ((root.getNodeCount() != 0) || (root.getEdgeCount() != 0)) throw new IllegalStateException("node/edge count not 0"); for (int j = 0; j < nodes.length; j++) nodes[j] = root.createNode(); for (int j = 0; j < edgeSources.length; j++) root.createEdge(nodes[edgeSources[j]], nodes[edgeTargets[i]], edgeDirectedness[j]); if ((root.getNodeCount() != nodes.length) || (root.getEdgeCount() != edgeSources.length)) throw new IllegalStateException("node/edge count not what expected"); } } }
/** * DOCUMENT ME! * * @param args DOCUMENT ME! */ public static void main(String[] args) { final RootGraph root = new FingExtensibleRootGraph(new MyNodeDepot(), new MyEdgeDepot()); final Node n1 = root.getNode(root.createNode()); final Node n2 = root.getNode(root.createNode()); final Node n3 = root.getNode(root.createNode()); final Node n4 = root.getNode(root.createNode()); root.createEdge(n1, n2, false); int edge_idx = root.createEdge(n1, n3, false); final Edge del1 = root.getEdge(edge_idx); edge_idx = root.createEdge(n2, n3, false); final Edge del2 = root.getEdge(edge_idx); root.removeEdge(del1); root.removeEdge(del2); edge_idx = root.createEdge(n1, n4, false); final Edge subedge = root.getEdge(edge_idx); final Node src = subedge.getSource(); final Node target = subedge.getTarget(); if ((src == null) || (target == null)) throw new IllegalStateException("the bug is here"); } }
nodeInx[i] = root.createNode(); edgeInx[6] = root.createEdge(nodeInx[3], nodeInx[2], true); nodeInx[nodeInx.length - 1] = root.createNode(null, new int[] { edgeInx[6], edgeInx[2] }); // Should have nodes throw new IllegalStateException("creation failure failed - edge"); int deleteThisNode0 = root.createNode(); nodeInx[1] = root.createNode(); throw new IllegalStateException("cannot delete edge"); int deleteThisNode = root.createNode(); int deleteThisEdge1; root2.createNode(); root2.createEdge(((Node) root2.nodesIterator().next()).getRootGraphIndex(), ((Node) root2.nodesIterator().next()).getRootGraphIndex());
nodeInx[i] = root.createNode(); edgeInx[5] = root.createEdge(nodeInx[1], nodeInx[0], true); edgeInx[6] = root.createEdge(nodeInx[3], nodeInx[2], true); nodeInx[nodeInx.length - 1] = root.createNode(null, new int[] { edgeInx[6], edgeInx[2] }); root2.createNode(); root2.createEdge(((Node) root2.nodesIterator().next()).getRootGraphIndex(), ((Node) root2.nodesIterator().next()).getRootGraphIndex()); final Node nodeNotInPersp = root.getNode(root.createNode()); final Edge edge1NotInPersp = root.getEdge(root.createEdge(nodeInx[1], nodeInx[3], true)); final Edge edge2NotInPersp = root.getEdge(root.createEdge(nodeInx[2], Node node2NotInPersp = root.getNode(root.createNode()); Edge edge3NotInPersp = root.getEdge(root.createEdge(nodeInx[1], nodeInx[2], true)); persp.restoreNode(node2NotInPersp);