use of org.gephi.graph.api.DirectedGraph in project gephi by gephi.
the class DegreeNGTest method testDirectedStarOutGraphDegree.
@Test
public void testDirectedStarOutGraphDegree() {
GraphModel graphModel = Lookup.getDefault().lookup(GraphController.class).getGraphModel();
DirectedGraph directedGraph = graphModel.getDirectedGraph();
Node firstNode = graphModel.factory().newNode("0");
directedGraph.addNode(firstNode);
for (int i = 1; i <= 5; i++) {
Node currentNode = graphModel.factory().newNode(((Integer) i).toString());
directedGraph.addNode(currentNode);
Edge currentEdge = graphModel.factory().newEdge(firstNode, currentNode);
directedGraph.addEdge(currentEdge);
}
DirectedGraph graph = graphModel.getDirectedGraph();
Node n1 = graph.getNode("0");
Node n3 = graph.getNode("2");
Degree d = new Degree();
int inDegree1 = d.calculateInDegree(graph, n1);
int outDegree1 = d.calculateOutDegree(graph, n1);
int degree3 = d.calculateDegree(graph, n3);
assertEquals(inDegree1, 0);
assertEquals(outDegree1, 5);
assertEquals(degree3, 1);
}
use of org.gephi.graph.api.DirectedGraph in project gephi by gephi.
the class EigenvectorCentralityNGTest method testCyclicDirectedGraphEigenvectorCentrality.
@Test
public void testCyclicDirectedGraphEigenvectorCentrality() {
GraphModel graphModel = GraphGenerator.generateCyclicDirectedGraph(3);
DirectedGraph graph = graphModel.getDirectedGraph();
EigenvectorCentrality ec = new EigenvectorCentrality();
double[] centralities = new double[3];
HashMap<Integer, Node> indicies = new HashMap();
HashMap<Node, Integer> invIndicies = new HashMap();
ec.fillIndiciesMaps(graph, centralities, indicies, invIndicies);
ec.calculateEigenvectorCentrality(graph, centralities, indicies, invIndicies, true, 100);
Node n1 = graph.getNode("0");
int index1 = invIndicies.get(n1);
double ec1 = centralities[index1];
assertEquals(ec1, 1.0);
}
use of org.gephi.graph.api.DirectedGraph in project gephi by gephi.
the class GraphDistanceNGTest method testSpecial1DirectedGraphBetweenness.
@Test
public void testSpecial1DirectedGraphBetweenness() {
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 edge13 = graphModel.factory().newEdge(node1, node3);
Edge edge32 = graphModel.factory().newEdge(node3, node2);
Edge edge21 = graphModel.factory().newEdge(node2, node1);
Edge edge34 = graphModel.factory().newEdge(node3, node4);
Edge edge45 = graphModel.factory().newEdge(node4, node5);
Edge edge53 = graphModel.factory().newEdge(node5, node3);
directedGraph.addEdge(edge13);
directedGraph.addEdge(edge32);
directedGraph.addEdge(edge21);
directedGraph.addEdge(edge34);
directedGraph.addEdge(edge45);
directedGraph.addEdge(edge53);
GraphDistance d = new GraphDistance();
d.initializeStartValues();
HashMap<Node, Integer> indicies = d.createIndiciesMap(graphModel.getGraph());
HashMap<String, double[]> metricsMap = (HashMap) d.calculateDistanceMetrics(graphModel.getGraph(), indicies, true, false);
double[] betweenness = metricsMap.get(GraphDistance.BETWEENNESS);
int index1 = indicies.get(node1);
int index3 = indicies.get(node3);
int index4 = indicies.get(node4);
assertEquals(betweenness[index1], 3.0, TOLERANCE);
assertEquals(betweenness[index3], 10.0, TOLERANCE);
assertEquals(betweenness[index4], 3.0, TOLERANCE);
}
use of org.gephi.graph.api.DirectedGraph in project gephi by gephi.
the class GraphDensityNGTest method testDirectedCompleteGraphWithSelfLoopsDensity.
@Test
public void testDirectedCompleteGraphWithSelfLoopsDensity() {
GraphModel graphModel = GraphGenerator.generateCompleteDirectedGraph(3);
DirectedGraph directedGraph = graphModel.getDirectedGraph();
Node n1 = directedGraph.getNode("0");
Node n2 = directedGraph.getNode("1");
Node n3 = directedGraph.getNode("2");
Edge currentEdge = graphModel.factory().newEdge(n1, n1);
directedGraph.addEdge(currentEdge);
currentEdge = graphModel.factory().newEdge(n2, n2);
directedGraph.addEdge(currentEdge);
currentEdge = graphModel.factory().newEdge(n3, n3);
directedGraph.addEdge(currentEdge);
DirectedGraph graph = graphModel.getDirectedGraph();
GraphDensity d = new GraphDensity();
double density = d.calculateDensity(graph, true);
assertEquals(density, 1.5);
}
Aggregations