Search in sources :

Example 21 with Graph

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

the class ClusteringCoefficientNGTest method testSpecial3UndirectedGraphClusteringCoefficient.

@Test
public void testSpecial3UndirectedGraphClusteringCoefficient() {
    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");
    undirectedGraph.addNode(node1);
    undirectedGraph.addNode(node2);
    undirectedGraph.addNode(node3);
    undirectedGraph.addNode(node4);
    undirectedGraph.addNode(node5);
    undirectedGraph.addNode(node6);
    Edge edge12 = graphModel.factory().newEdge(node1, node2, false);
    Edge edge23 = graphModel.factory().newEdge(node2, node3, false);
    Edge edge31 = graphModel.factory().newEdge(node3, node1, false);
    Edge edge14 = graphModel.factory().newEdge(node1, node4, false);
    Edge edge25 = graphModel.factory().newEdge(node2, node5, false);
    Edge edge36 = graphModel.factory().newEdge(node3, node6, false);
    undirectedGraph.addEdge(edge12);
    undirectedGraph.addEdge(edge23);
    undirectedGraph.addEdge(edge31);
    undirectedGraph.addEdge(edge14);
    undirectedGraph.addEdge(edge25);
    undirectedGraph.addEdge(edge36);
    Graph graph = graphModel.getGraph();
    ClusteringCoefficient cc = new ClusteringCoefficient();
    ArrayWrapper[] network = new ArrayWrapper[6];
    int[] triangles = new int[6];
    double[] nodeClustering = new double[6];
    HashMap<String, Double> results = cc.computeClusteringCoefficient(graph, network, triangles, nodeClustering, false);
    double cl1 = nodeClustering[0];
    double res1 = 0.333;
    double diff = 0.01;
    assertTrue(Math.abs(cl1 - res1) < diff);
}
Also used : Node(org.gephi.graph.api.Node) 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) Edge(org.gephi.graph.api.Edge) GraphController(org.gephi.graph.api.GraphController) Test(org.testng.annotations.Test)

Example 22 with Graph

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

the class ClusteringCoefficientNGTest method testNullGraphClusteringCoefficient.

@Test
public void testNullGraphClusteringCoefficient() {
    GraphModel graphModel = GraphGenerator.generateNullUndirectedGraph(5);
    Graph graph = graphModel.getGraph();
    ClusteringCoefficient cc = new ClusteringCoefficient();
    cc.setDirected(false);
    ArrayWrapper[] network = new ArrayWrapper[5];
    int[] triangles = new int[5];
    double[] nodeClustering = new double[5];
    HashMap<String, Double> results = cc.computeClusteringCoefficient(graph, network, triangles, nodeClustering, false);
    double avClusteringCoefficient = results.get("clusteringCoefficient");
    assertEquals(avClusteringCoefficient, 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 23 with Graph

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

the class ClusteringCoefficientNGTest method testCompleteGraphClusteringCoefficient.

@Test
public void testCompleteGraphClusteringCoefficient() {
    GraphModel graphModel = GraphGenerator.generateCompleteUndirectedGraph(5);
    Graph graph = graphModel.getGraph();
    ClusteringCoefficient cc = new ClusteringCoefficient();
    cc.setDirected(false);
    ArrayWrapper[] network = new ArrayWrapper[5];
    int[] triangles = new int[5];
    double[] nodeClustering = new double[5];
    HashMap<String, Double> results = cc.computeClusteringCoefficient(graph, network, triangles, nodeClustering, false);
    double avClusteringCoefficient = results.get("clusteringCoefficient");
    assertEquals(avClusteringCoefficient, 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 24 with Graph

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

the class DegreeNGTest method testSelfLoopGraphDegree.

@Test
public void testSelfLoopGraphDegree() {
    GraphModel graphModel = GraphGenerator.generateSelfLoopUndirectedGraph(1);
    Graph graph = graphModel.getGraph();
    Node n = graph.getNode("0");
    Degree d = new Degree();
    int degree = d.calculateDegree(graph, n);
    assertEquals(degree, 2);
}
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 25 with Graph

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

the class DegreeNGTest method testCyclicGraphDegree.

@Test
public void testCyclicGraphDegree() {
    GraphModel graphModel = GraphGenerator.generateCyclicUndirectedGraph(5);
    Graph graph = graphModel.getGraph();
    Node n = graph.getNode("3");
    Degree d = new Degree();
    int degree = d.calculateDegree(graph, n);
    double avDegree = d.calculateAverageDegree(graph, false, false);
    assertEquals(degree, 2);
    assertEquals(avDegree, 2.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)

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