Search in sources :

Example 86 with Graph

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

the class GraphDensityNGTest method testOneNodeDensity.

@Test
public void testOneNodeDensity() {
    GraphModel graphModel = GraphGenerator.generateNullUndirectedGraph(1);
    Graph graph = graphModel.getGraph();
    GraphDensity d = new GraphDensity();
    double density = d.calculateDensity(graph, false);
    assertEquals(density, Double.NaN);
}
Also used : Graph(org.gephi.graph.api.Graph) UndirectedGraph(org.gephi.graph.api.UndirectedGraph) DirectedGraph(org.gephi.graph.api.DirectedGraph) GraphModel(org.gephi.graph.api.GraphModel) Test(org.testng.annotations.Test)

Example 87 with Graph

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

the class GraphDensityNGTest method testCompleteGraphWithSelfLoopsDensity.

@Test
public void testCompleteGraphWithSelfLoopsDensity() {
    GraphModel graphModel = GraphGenerator.generateCompleteUndirectedGraph(3);
    UndirectedGraph undirectedGraph = graphModel.getUndirectedGraph();
    Node n1 = undirectedGraph.getNode("0");
    Node n2 = undirectedGraph.getNode("1");
    Node n3 = undirectedGraph.getNode("2");
    Edge currentEdge = graphModel.factory().newEdge(n1, n1, false);
    undirectedGraph.addEdge(currentEdge);
    currentEdge = graphModel.factory().newEdge(n2, n2, false);
    undirectedGraph.addEdge(currentEdge);
    currentEdge = graphModel.factory().newEdge(n3, n3, false);
    undirectedGraph.addEdge(currentEdge);
    Graph graph = graphModel.getGraph();
    GraphDensity d = new GraphDensity();
    double density = d.calculateDensity(graph, false);
    assertEquals(density, 2.0);
}
Also used : Graph(org.gephi.graph.api.Graph) UndirectedGraph(org.gephi.graph.api.UndirectedGraph) DirectedGraph(org.gephi.graph.api.DirectedGraph) GraphModel(org.gephi.graph.api.GraphModel) UndirectedGraph(org.gephi.graph.api.UndirectedGraph) Node(org.gephi.graph.api.Node) Edge(org.gephi.graph.api.Edge) Test(org.testng.annotations.Test)

Example 88 with Graph

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

the class GraphDensityNGTest method testTwoConnectedNodesDensity.

@Test
public void testTwoConnectedNodesDensity() {
    GraphModel graphModel = GraphGenerator.generateCompleteUndirectedGraph(2);
    Graph graph = graphModel.getGraph();
    GraphDensity d = new GraphDensity();
    double density = d.calculateDensity(graph, false);
    assertEquals(density, 1.0);
}
Also used : Graph(org.gephi.graph.api.Graph) UndirectedGraph(org.gephi.graph.api.UndirectedGraph) DirectedGraph(org.gephi.graph.api.DirectedGraph) GraphModel(org.gephi.graph.api.GraphModel) Test(org.testng.annotations.Test)

Example 89 with Graph

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

the class GraphDensityNGTest method testNullGraphDensity.

@Test
public void testNullGraphDensity() {
    GraphModel graphModel = GraphGenerator.generateNullUndirectedGraph(5);
    Graph graph = graphModel.getGraph();
    GraphDensity d = new GraphDensity();
    double density = d.calculateDensity(graph, false);
    assertEquals(density, 0.0);
}
Also used : Graph(org.gephi.graph.api.Graph) UndirectedGraph(org.gephi.graph.api.UndirectedGraph) DirectedGraph(org.gephi.graph.api.DirectedGraph) GraphModel(org.gephi.graph.api.GraphModel) Test(org.testng.annotations.Test)

Example 90 with Graph

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

the class GraphDensityNGTest method testTwoCompleteGraphsDensity.

@Test
public void testTwoCompleteGraphsDensity() {
    GraphModel graphModel = GraphGenerator.generateCompleteUndirectedGraph(4);
    UndirectedGraph undirectedGraph = graphModel.getUndirectedGraph();
    Node[] nodes = new Node[4];
    for (int i = 0; i < 4; i++) {
        Node currentNode = graphModel.factory().newNode(((Integer) (i + 4)).toString());
        nodes[i] = currentNode;
        undirectedGraph.addNode(currentNode);
    }
    for (int i = 0; i < 3; i++) {
        for (int j = i + 1; j < 4; j++) {
            Edge currentEdge = graphModel.factory().newEdge(nodes[i], nodes[j], false);
            undirectedGraph.addEdge(currentEdge);
        }
    }
    Graph graph = graphModel.getGraph();
    GraphDensity d = new GraphDensity();
    double density = d.calculateDensity(graph, false);
    double expectedAvDegree = 0.4286;
    double diff = Math.abs(density - expectedAvDegree);
    assertTrue(diff < 0.01);
}
Also used : Graph(org.gephi.graph.api.Graph) UndirectedGraph(org.gephi.graph.api.UndirectedGraph) DirectedGraph(org.gephi.graph.api.DirectedGraph) GraphModel(org.gephi.graph.api.GraphModel) UndirectedGraph(org.gephi.graph.api.UndirectedGraph) Node(org.gephi.graph.api.Node) Edge(org.gephi.graph.api.Edge) Test(org.testng.annotations.Test)

Aggregations

Graph (org.gephi.graph.api.Graph)104 GraphModel (org.gephi.graph.api.GraphModel)57 Node (org.gephi.graph.api.Node)50 DirectedGraph (org.gephi.graph.api.DirectedGraph)43 Test (org.testng.annotations.Test)36 GraphController (org.gephi.graph.api.GraphController)27 UndirectedGraph (org.gephi.graph.api.UndirectedGraph)24 Edge (org.gephi.graph.api.Edge)21 Column (org.gephi.graph.api.Column)9 ArrayList (java.util.ArrayList)8 Function (org.gephi.appearance.api.Function)6 GraphView (org.gephi.graph.api.GraphView)6 AttributeFunction (org.gephi.appearance.api.AttributeFunction)5 AppearanceController (org.gephi.appearance.api.AppearanceController)4 AppearanceModel (org.gephi.appearance.api.AppearanceModel)4 IOException (java.io.IOException)3 HashMap (java.util.HashMap)3 TransformerUI (org.gephi.appearance.spi.TransformerUI)3 GraphElementsController (org.gephi.datalab.api.GraphElementsController)3 DataTablesController (org.gephi.datalab.api.datatables.DataTablesController)3