Search in sources :

Example 36 with Node

use of org.gephi.graph.api.Node in project gephi by gephi.

the class DegreeNGTest method testOneNodeDegree.

@Test
public void testOneNodeDegree() {
    GraphModel graphModel = GraphGenerator.generateNullUndirectedGraph(1);
    Graph graph = graphModel.getGraph();
    Node n = graph.getNode("0");
    Degree d = new Degree();
    int degree = d.calculateDegree(graph, n);
    assertEquals(degree, 0);
}
Also used : Graph(org.gephi.graph.api.Graph) DirectedGraph(org.gephi.graph.api.DirectedGraph) GraphModel(org.gephi.graph.api.GraphModel) Node(org.gephi.graph.api.Node) Test(org.testng.annotations.Test)

Example 37 with Node

use of org.gephi.graph.api.Node in project gephi by gephi.

the class GraphDistanceNGTest method testDirectedPathGraphDiameter.

@Test
public void testDirectedPathGraphDiameter() {
    GraphModel graphModel = GraphGenerator.generatePathDirectedGraph(4);
    GraphDistance d = new GraphDistance();
    d.initializeStartValues();
    UndirectedGraph undirectedGraph = graphModel.getUndirectedGraph();
    HashMap<Node, Integer> indicies = d.createIndiciesMap(undirectedGraph);
    d.calculateDistanceMetrics(graphModel.getGraph(), indicies, true, false);
    double diameter = d.getDiameter();
    assertEquals(diameter, 3.0, TOLERANCE);
}
Also used : GraphModel(org.gephi.graph.api.GraphModel) UndirectedGraph(org.gephi.graph.api.UndirectedGraph) Node(org.gephi.graph.api.Node) Test(org.testng.annotations.Test)

Example 38 with Node

use of org.gephi.graph.api.Node in project gephi by gephi.

the class GraphDistanceNGTest method testDirectedPathGraphAvPathLength.

@Test
public void testDirectedPathGraphAvPathLength() {
    GraphModel graphModel = GraphGenerator.generatePathDirectedGraph(4);
    GraphDistance d = new GraphDistance();
    d.initializeStartValues();
    UndirectedGraph undirectedGraph = graphModel.getUndirectedGraph();
    HashMap<Node, Integer> indicies = d.createIndiciesMap(undirectedGraph);
    d.calculateDistanceMetrics(graphModel.getGraph(), indicies, true, false);
    double averageDegree = d.getPathLength();
    double res = 1.6667;
    double diff = Math.abs(averageDegree - res);
    assertEquals(averageDegree, res, TOLERANCE);
}
Also used : GraphModel(org.gephi.graph.api.GraphModel) UndirectedGraph(org.gephi.graph.api.UndirectedGraph) Node(org.gephi.graph.api.Node) Test(org.testng.annotations.Test)

Example 39 with Node

use of org.gephi.graph.api.Node in project gephi by gephi.

the class GraphDistanceNGTest method testSpecial2UndirectedGraphCloseness.

@Test
public void testSpecial2UndirectedGraphCloseness() {
    GraphModel graphModel = Lookup.getDefault().lookup(GraphController.class).getGraphModel();
    UndirectedGraph undirectedGraph = graphModel.getUndirectedGraph();
    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");
    undirectedGraph.addNode(node1);
    undirectedGraph.addNode(node2);
    undirectedGraph.addNode(node3);
    undirectedGraph.addNode(node4);
    undirectedGraph.addNode(node5);
    undirectedGraph.addNode(node6);
    undirectedGraph.addNode(node7);
    undirectedGraph.addNode(node8);
    Edge edge12 = graphModel.factory().newEdge(node1, node2, false);
    Edge edge13 = graphModel.factory().newEdge(node1, node3, false);
    Edge edge34 = graphModel.factory().newEdge(node3, node4, false);
    Edge edge24 = graphModel.factory().newEdge(node2, node4, false);
    Edge edge56 = graphModel.factory().newEdge(node5, node6, false);
    Edge edge67 = graphModel.factory().newEdge(node6, node7, false);
    Edge edge78 = graphModel.factory().newEdge(node7, node8, false);
    Edge edge85 = graphModel.factory().newEdge(node8, node5, false);
    Edge edge45 = graphModel.factory().newEdge(node4, node5, false);
    undirectedGraph.addEdge(edge12);
    undirectedGraph.addEdge(edge13);
    undirectedGraph.addEdge(edge34);
    undirectedGraph.addEdge(edge24);
    undirectedGraph.addEdge(edge56);
    undirectedGraph.addEdge(edge67);
    undirectedGraph.addEdge(edge78);
    undirectedGraph.addEdge(edge85);
    undirectedGraph.addEdge(edge45);
    GraphDistance d = new GraphDistance();
    d.initializeStartValues();
    UndirectedGraph hierarchicalUndirectedGraph = graphModel.getUndirectedGraph();
    HashMap<Node, Integer> indicies = d.createIndiciesMap(hierarchicalUndirectedGraph);
    HashMap<String, double[]> metricsMap = (HashMap) d.calculateDistanceMetrics(graphModel.getGraph(), indicies, false, false);
    double[] closeness = metricsMap.get(GraphDistance.CLOSENESS);
    int index2 = indicies.get(node2);
    double res = 1.0 / 2.2857;
    assertEquals(closeness[index2], res, TOLERANCE);
}
Also used : HashMap(java.util.HashMap) Node(org.gephi.graph.api.Node) GraphModel(org.gephi.graph.api.GraphModel) UndirectedGraph(org.gephi.graph.api.UndirectedGraph) Edge(org.gephi.graph.api.Edge) GraphController(org.gephi.graph.api.GraphController) Test(org.testng.annotations.Test)

Example 40 with Node

use of org.gephi.graph.api.Node in project gephi by gephi.

the class GraphDistanceNGTest method testSpecial2UndirectedGraphDiameter.

@Test
public void testSpecial2UndirectedGraphDiameter() {
    GraphModel graphModel = Lookup.getDefault().lookup(GraphController.class).getGraphModel();
    UndirectedGraph undirectedGraph = graphModel.getUndirectedGraph();
    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");
    undirectedGraph.addNode(node1);
    undirectedGraph.addNode(node2);
    undirectedGraph.addNode(node3);
    undirectedGraph.addNode(node4);
    undirectedGraph.addNode(node5);
    undirectedGraph.addNode(node6);
    undirectedGraph.addNode(node7);
    undirectedGraph.addNode(node8);
    Edge edge12 = graphModel.factory().newEdge(node1, node2, false);
    Edge edge23 = graphModel.factory().newEdge(node2, node3, false);
    Edge edge34 = graphModel.factory().newEdge(node3, node4, false);
    Edge edge45 = graphModel.factory().newEdge(node4, node5, false);
    Edge edge56 = graphModel.factory().newEdge(node5, node6, false);
    Edge edge67 = graphModel.factory().newEdge(node6, node7, false);
    Edge edge78 = graphModel.factory().newEdge(node7, node8, false);
    Edge edge81 = graphModel.factory().newEdge(node8, node1, false);
    Edge edge14 = graphModel.factory().newEdge(node1, node4, false);
    Edge edge85 = graphModel.factory().newEdge(node8, node5, false);
    undirectedGraph.addEdge(edge12);
    undirectedGraph.addEdge(edge23);
    undirectedGraph.addEdge(edge34);
    undirectedGraph.addEdge(edge45);
    undirectedGraph.addEdge(edge56);
    undirectedGraph.addEdge(edge67);
    undirectedGraph.addEdge(edge78);
    undirectedGraph.addEdge(edge81);
    undirectedGraph.addEdge(edge14);
    undirectedGraph.addEdge(edge85);
    GraphDistance d = new GraphDistance();
    d.initializeStartValues();
    UndirectedGraph hierarchicalUndirectedGraph = graphModel.getUndirectedGraph();
    HashMap<Node, Integer> indicies = d.createIndiciesMap(hierarchicalUndirectedGraph);
    d.calculateDistanceMetrics(graphModel.getGraph(), indicies, false, false);
    double diameter = d.getDiameter();
    assertEquals(diameter, 4.0, TOLERANCE);
}
Also used : GraphModel(org.gephi.graph.api.GraphModel) UndirectedGraph(org.gephi.graph.api.UndirectedGraph) Node(org.gephi.graph.api.Node) Edge(org.gephi.graph.api.Edge) GraphController(org.gephi.graph.api.GraphController) Test(org.testng.annotations.Test)

Aggregations

Node (org.gephi.graph.api.Node)314 GraphModel (org.gephi.graph.api.GraphModel)173 Test (org.testng.annotations.Test)156 Edge (org.gephi.graph.api.Edge)122 UndirectedGraph (org.gephi.graph.api.UndirectedGraph)106 DirectedGraph (org.gephi.graph.api.DirectedGraph)83 GraphController (org.gephi.graph.api.GraphController)83 HashMap (java.util.HashMap)66 Graph (org.gephi.graph.api.Graph)51 NodeIterable (org.gephi.graph.api.NodeIterable)23 LinkedList (java.util.LinkedList)22 Column (org.gephi.graph.api.Column)22 EdgeIterable (org.gephi.graph.api.EdgeIterable)16 Table (org.gephi.graph.api.Table)10 HashSet (java.util.HashSet)8 ArrayList (java.util.ArrayList)7 Color (java.awt.Color)6 GraphElementsController (org.gephi.datalab.api.GraphElementsController)6 DataTablesController (org.gephi.datalab.api.datatables.DataTablesController)5 Interval (org.gephi.graph.api.Interval)5