use of org.gephi.graph.api.UndirectedGraph 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);
}
use of org.gephi.graph.api.UndirectedGraph in project gephi by gephi.
the class EigenvectorCentralityNGTest method testNullGraphEigenvectorCentrality.
@Test
public void testNullGraphEigenvectorCentrality() {
GraphModel graphModel = GraphGenerator.generateNullUndirectedGraph(5);
UndirectedGraph graph = graphModel.getUndirectedGraph();
EigenvectorCentrality ec = new EigenvectorCentrality();
ec.setDirected(false);
double[] centralities = new double[5];
HashMap<Integer, Node> indicies = new HashMap();
HashMap<Node, Integer> invIndicies = new HashMap();
ec.fillIndiciesMaps(graph, centralities, indicies, invIndicies);
ec.calculateEigenvectorCentrality(graph, centralities, indicies, invIndicies, false, 100);
Node n2 = graph.getNode("1");
int index = invIndicies.get(n2);
double ec2 = centralities[index];
assertEquals(ec2, 0.0);
}
use of org.gephi.graph.api.UndirectedGraph in project gephi by gephi.
the class EigenvectorCentralityNGTest method testTwoConnectedNodesEigenvectorCentrality.
@Test
public void testTwoConnectedNodesEigenvectorCentrality() {
GraphModel graphModel = GraphGenerator.generateCompleteUndirectedGraph(2);
UndirectedGraph graph = graphModel.getUndirectedGraph();
EigenvectorCentrality ec = new EigenvectorCentrality();
double[] centralities = new double[2];
HashMap<Integer, Node> indicies = new HashMap();
HashMap<Node, Integer> invIndicies = new HashMap();
ec.fillIndiciesMaps(graph, centralities, indicies, invIndicies);
ec.calculateEigenvectorCentrality(graph, centralities, indicies, invIndicies, false, 100);
Node n1 = graph.getNode("0");
int index = invIndicies.get(n1);
double ec1 = centralities[index];
assertEquals(ec1, 1.0);
}
use of org.gephi.graph.api.UndirectedGraph in project gephi by gephi.
the class EigenvectorCentralityNGTest method testOneNodeEigenvectorCentrality.
@Test
public void testOneNodeEigenvectorCentrality() {
GraphModel graphModel = GraphGenerator.generateNullUndirectedGraph(1);
UndirectedGraph graph = graphModel.getUndirectedGraph();
EigenvectorCentrality ec = new EigenvectorCentrality();
double[] centralities = new double[1];
HashMap<Integer, Node> indicies = new HashMap();
HashMap<Node, Integer> invIndicies = new HashMap();
ec.fillIndiciesMaps(graph, centralities, indicies, invIndicies);
ec.calculateEigenvectorCentrality(graph, centralities, indicies, invIndicies, false, 100);
Node n1 = graph.getNode("0");
int index = invIndicies.get(n1);
double ec1 = centralities[index];
assertEquals(ec1, 0.0);
}
use of org.gephi.graph.api.UndirectedGraph in project gephi by gephi.
the class EigenvectorCentralityNGTest method testSpecial3UndirectedGraphEigenvectorCentrlity.
@Test
public void testSpecial3UndirectedGraphEigenvectorCentrlity() {
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");
undirectedGraph.addNode(node1);
undirectedGraph.addNode(node2);
undirectedGraph.addNode(node3);
Edge edge11 = graphModel.factory().newEdge(node1, node1, false);
Edge edge12 = graphModel.factory().newEdge(node1, node2, false);
Edge edge23 = graphModel.factory().newEdge(node2, node3, false);
Edge edge33 = graphModel.factory().newEdge(node3, node3, false);
undirectedGraph.addEdge(edge11);
undirectedGraph.addEdge(edge12);
undirectedGraph.addEdge(edge23);
undirectedGraph.addEdge(edge33);
UndirectedGraph graph = graphModel.getUndirectedGraph();
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, false, 100);
int index1 = invIndicies.get(node1);
int index2 = invIndicies.get(node2);
double ec1 = centralities[index1];
double ec2 = centralities[index2];
assertEquals(ec1, ec2);
}
Aggregations