use of org.gephi.graph.api.DirectedGraph in project gephi by gephi.
the class ClusteringCoefficientNGTest method testSpecial1DirectedGraphClusteringCoefficient.
@Test
public void testSpecial1DirectedGraphClusteringCoefficient() {
GraphModel graphModel = Lookup.getDefault().lookup(GraphController.class).getGraphModel();
DirectedGraph directedGraph = graphModel.getDirectedGraph();
Node node1 = graphModel.factory().newNode("0");
Node node2 = graphModel.factory().newNode("1");
Node node3 = graphModel.factory().newNode("2");
Node node4 = graphModel.factory().newNode("3");
directedGraph.addNode(node1);
directedGraph.addNode(node2);
directedGraph.addNode(node3);
directedGraph.addNode(node4);
Edge edge12 = graphModel.factory().newEdge(node1, node2);
Edge edge23 = graphModel.factory().newEdge(node2, node3);
Edge edge24 = graphModel.factory().newEdge(node2, node4);
Edge edge31 = graphModel.factory().newEdge(node3, node1);
Edge edge34 = graphModel.factory().newEdge(node3, node4);
Edge edge41 = graphModel.factory().newEdge(node4, node1);
directedGraph.addEdge(edge12);
directedGraph.addEdge(edge23);
directedGraph.addEdge(edge24);
directedGraph.addEdge(edge31);
directedGraph.addEdge(edge34);
directedGraph.addEdge(edge41);
DirectedGraph graph = graphModel.getDirectedGraph();
ClusteringCoefficient cc = new ClusteringCoefficient();
ArrayWrapper[] network = new ArrayWrapper[4];
int[] triangles = new int[4];
double[] nodeClustering = new double[4];
HashMap<String, Double> results = cc.computeClusteringCoefficient(graph, network, triangles, nodeClustering, true);
double avClusteringCoefficient = results.get("clusteringCoefficient");
assertEquals(avClusteringCoefficient, 0.5);
}
use of org.gephi.graph.api.DirectedGraph in project gephi by gephi.
the class ClusteringCoefficientNGTest method testTriangleDirectedGraphClusteringCoefficient.
@Test
public void testTriangleDirectedGraphClusteringCoefficient() {
GraphModel graphModel = Lookup.getDefault().lookup(GraphController.class).getGraphModel();
DirectedGraph directedGraph = graphModel.getDirectedGraph();
Node node1 = graphModel.factory().newNode("0");
Node node2 = graphModel.factory().newNode("1");
Node node3 = graphModel.factory().newNode("2");
directedGraph.addNode(node1);
directedGraph.addNode(node2);
directedGraph.addNode(node3);
Edge edge12 = graphModel.factory().newEdge(node1, node2);
Edge edge21 = graphModel.factory().newEdge(node2, node1);
Edge edge23 = graphModel.factory().newEdge(node2, node3);
Edge edge32 = graphModel.factory().newEdge(node3, node2);
Edge edge31 = graphModel.factory().newEdge(node3, node1);
Edge edge13 = graphModel.factory().newEdge(node1, node3);
directedGraph.addEdge(edge12);
directedGraph.addEdge(edge21);
directedGraph.addEdge(edge23);
directedGraph.addEdge(edge32);
directedGraph.addEdge(edge31);
directedGraph.addEdge(edge13);
DirectedGraph graph = graphModel.getDirectedGraph();
ClusteringCoefficient cc = new ClusteringCoefficient();
ArrayWrapper[] network = new ArrayWrapper[3];
int[] triangles = new int[3];
double[] nodeClustering = new double[3];
HashMap<String, Double> results = cc.computeClusteringCoefficient(graph, network, triangles, nodeClustering, true);
double avClusteringCoefficient = results.get("clusteringCoefficient");
assertEquals(avClusteringCoefficient, 1.);
}
use of org.gephi.graph.api.DirectedGraph in project gephi by gephi.
the class ConnectedComponentsNGTest method testDirectedPathGraphConnectedComponents.
@Test
public void testDirectedPathGraphConnectedComponents() {
GraphModel graphModel = GraphGenerator.generatePathDirectedGraph(4);
DirectedGraph graph = graphModel.getDirectedGraph();
ConnectedComponents c = new ConnectedComponents();
HashMap<Node, Integer> indicies = c.createIndiciesMap(graph);
LinkedList<LinkedList<Node>> components = c.top_tarjans(graph, indicies);
assertEquals(components.size(), 4);
}
use of org.gephi.graph.api.DirectedGraph in project gephi by gephi.
the class ConnectedComponentsNGTest method testSpecial3DirectedGraphConnectedComponents.
@Test
public void testSpecial3DirectedGraphConnectedComponents() {
GraphModel graphModel = Lookup.getDefault().lookup(GraphController.class).getGraphModel();
DirectedGraph directedGraph = graphModel.getDirectedGraph();
Node node1 = graphModel.factory().newNode("0");
Node node2 = graphModel.factory().newNode("1");
Node node3 = graphModel.factory().newNode("2");
Node node4 = graphModel.factory().newNode("3");
Node node5 = graphModel.factory().newNode("4");
Node node6 = graphModel.factory().newNode("5");
Node node7 = graphModel.factory().newNode("6");
Node node8 = graphModel.factory().newNode("7");
Node node9 = graphModel.factory().newNode("8");
directedGraph.addNode(node1);
directedGraph.addNode(node2);
directedGraph.addNode(node3);
directedGraph.addNode(node4);
directedGraph.addNode(node5);
directedGraph.addNode(node6);
directedGraph.addNode(node7);
directedGraph.addNode(node8);
directedGraph.addNode(node9);
Edge edge12 = graphModel.factory().newEdge(node1, node2);
Edge edge23 = graphModel.factory().newEdge(node2, node3);
Edge edge45 = graphModel.factory().newEdge(node4, node5);
Edge edge56 = graphModel.factory().newEdge(node5, node6);
Edge edge64 = graphModel.factory().newEdge(node6, node4);
Edge edge75 = graphModel.factory().newEdge(node7, node5);
Edge edge89 = graphModel.factory().newEdge(node8, node9);
Edge edge98 = graphModel.factory().newEdge(node9, node8);
directedGraph.addEdge(edge12);
directedGraph.addEdge(edge23);
directedGraph.addEdge(edge45);
directedGraph.addEdge(edge56);
directedGraph.addEdge(edge64);
directedGraph.addEdge(edge75);
directedGraph.addEdge(edge89);
directedGraph.addEdge(edge98);
DirectedGraph graph = graphModel.getDirectedGraph();
ConnectedComponents c = new ConnectedComponents();
HashMap<Node, Integer> indicies = c.createIndiciesMap(graph);
LinkedList<LinkedList<Node>> stronglyConnectedComponents = c.top_tarjans(graph, indicies);
assertEquals(stronglyConnectedComponents.size(), 6);
}
use of org.gephi.graph.api.DirectedGraph in project gephi by gephi.
the class ConnectedComponentsNGTest method testSpecial1DirectedGraphConnectedComponents.
@Test
public void testSpecial1DirectedGraphConnectedComponents() {
GraphModel graphModel = Lookup.getDefault().lookup(GraphController.class).getGraphModel();
DirectedGraph directedGraph = graphModel.getDirectedGraph();
Node node1 = graphModel.factory().newNode("0");
Node node2 = graphModel.factory().newNode("1");
Node node3 = graphModel.factory().newNode("2");
Node node4 = graphModel.factory().newNode("3");
Node node5 = graphModel.factory().newNode("4");
directedGraph.addNode(node1);
directedGraph.addNode(node2);
directedGraph.addNode(node3);
directedGraph.addNode(node4);
directedGraph.addNode(node5);
Edge edge12 = graphModel.factory().newEdge(node1, node2);
Edge edge14 = graphModel.factory().newEdge(node1, node4);
Edge edge23 = graphModel.factory().newEdge(node2, node3);
Edge edge25 = graphModel.factory().newEdge(node2, node5);
Edge edge35 = graphModel.factory().newEdge(node3, node5);
Edge edge43 = graphModel.factory().newEdge(node4, node3);
Edge edge51 = graphModel.factory().newEdge(node5, node1);
Edge edge54 = graphModel.factory().newEdge(node5, node4);
directedGraph.addEdge(edge12);
directedGraph.addEdge(edge14);
directedGraph.addEdge(edge23);
directedGraph.addEdge(edge25);
directedGraph.addEdge(edge35);
directedGraph.addEdge(edge43);
directedGraph.addEdge(edge51);
directedGraph.addEdge(edge54);
DirectedGraph graph = graphModel.getDirectedGraph();
ConnectedComponents c = new ConnectedComponents();
HashMap<Node, Integer> indicies = c.createIndiciesMap(graph);
LinkedList<LinkedList<Node>> components = c.top_tarjans(graph, indicies);
assertEquals(components.size(), 1);
}
Aggregations