Search in sources :

Example 46 with Node

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

the class ConnectedComponentsNGTest method testSpecial1UndirectedGraphConnectedComponents.

@Test
public void testSpecial1UndirectedGraphConnectedComponents() {
    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");
    undirectedGraph.addNode(node1);
    undirectedGraph.addNode(node2);
    undirectedGraph.addNode(node3);
    undirectedGraph.addNode(node4);
    undirectedGraph.addNode(node5);
    Edge edge12 = graphModel.factory().newEdge(node1, node2, false);
    Edge edge14 = graphModel.factory().newEdge(node1, node4, false);
    Edge edge23 = graphModel.factory().newEdge(node2, node3, false);
    Edge edge25 = graphModel.factory().newEdge(node2, node5, false);
    Edge edge35 = graphModel.factory().newEdge(node3, node5, false);
    Edge edge43 = graphModel.factory().newEdge(node4, node3, false);
    Edge edge51 = graphModel.factory().newEdge(node5, node1, false);
    Edge edge54 = graphModel.factory().newEdge(node5, node4, false);
    undirectedGraph.addEdge(edge12);
    undirectedGraph.addEdge(edge14);
    undirectedGraph.addEdge(edge23);
    undirectedGraph.addEdge(edge25);
    undirectedGraph.addEdge(edge35);
    undirectedGraph.addEdge(edge43);
    undirectedGraph.addEdge(edge51);
    undirectedGraph.addEdge(edge54);
    UndirectedGraph graph = graphModel.getUndirectedGraph();
    ConnectedComponents c = new ConnectedComponents();
    HashMap<Node, Integer> indicies = c.createIndiciesMap(graph);
    LinkedList<LinkedList<Node>> components = c.computeWeeklyConnectedComponents(graph, indicies);
    assertEquals(components.size(), 1);
}
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) LinkedList(java.util.LinkedList) Test(org.testng.annotations.Test)

Example 47 with Node

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

the class ConnectedComponentsNGTest method testNullGraphWeeklyConnectedComponents.

@Test
public void testNullGraphWeeklyConnectedComponents() {
    GraphModel graphModel = GraphGenerator.generateNullUndirectedGraph(5);
    UndirectedGraph graph = graphModel.getUndirectedGraph();
    Node n0 = graph.getNode("0");
    Node n1 = graph.getNode("1");
    Node n2 = graph.getNode("2");
    Node n3 = graph.getNode("3");
    Node n4 = graph.getNode("4");
    ConnectedComponents c = new ConnectedComponents();
    HashMap<Node, Integer> indicies = new HashMap<>();
    indicies.put(n0, 0);
    indicies.put(n1, 1);
    indicies.put(n2, 2);
    indicies.put(n3, 3);
    indicies.put(n4, 4);
    LinkedList<LinkedList<Node>> components = c.computeWeeklyConnectedComponents(graph, indicies);
    assertEquals(components.size(), 5);
}
Also used : HashMap(java.util.HashMap) GraphModel(org.gephi.graph.api.GraphModel) UndirectedGraph(org.gephi.graph.api.UndirectedGraph) Node(org.gephi.graph.api.Node) LinkedList(java.util.LinkedList) Test(org.testng.annotations.Test)

Example 48 with Node

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

the class ConnectedComponentsNGTest method testSpecial2UndirectedGraphConnectedComponents.

@Test
public void testSpecial2UndirectedGraphConnectedComponents() {
    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");
    Node node9 = graphModel.factory().newNode("8");
    undirectedGraph.addNode(node1);
    undirectedGraph.addNode(node2);
    undirectedGraph.addNode(node3);
    undirectedGraph.addNode(node4);
    undirectedGraph.addNode(node5);
    undirectedGraph.addNode(node6);
    undirectedGraph.addNode(node7);
    undirectedGraph.addNode(node8);
    undirectedGraph.addNode(node9);
    Edge edge12 = graphModel.factory().newEdge(node1, node2, false);
    Edge edge23 = graphModel.factory().newEdge(node2, node3, false);
    Edge edge45 = graphModel.factory().newEdge(node4, node5, false);
    Edge edge56 = graphModel.factory().newEdge(node5, node6, false);
    Edge edge64 = graphModel.factory().newEdge(node6, node4, false);
    Edge edge75 = graphModel.factory().newEdge(node7, node5, false);
    undirectedGraph.addEdge(edge12);
    undirectedGraph.addEdge(edge23);
    undirectedGraph.addEdge(edge45);
    undirectedGraph.addEdge(edge56);
    undirectedGraph.addEdge(edge64);
    undirectedGraph.addEdge(edge75);
    UndirectedGraph graph = graphModel.getUndirectedGraph();
    ConnectedComponents c = new ConnectedComponents();
    HashMap<Node, Integer> indicies = c.createIndiciesMap(graph);
    LinkedList<LinkedList<Node>> components = c.computeWeeklyConnectedComponents(graph, indicies);
    int componentNumber3 = c.getComponentNumber(components, node3);
    int componentNumber4 = c.getComponentNumber(components, node4);
    int componentNumber7 = c.getComponentNumber(components, node7);
    int componentNumber8 = c.getComponentNumber(components, node8);
    assertEquals(components.size(), 4);
    assertEquals(componentNumber4, componentNumber7);
    assertNotEquals(componentNumber3, componentNumber8);
}
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) LinkedList(java.util.LinkedList) Test(org.testng.annotations.Test)

Example 49 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 50 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)

Aggregations

Node (org.gephi.graph.api.Node)301 GraphModel (org.gephi.graph.api.GraphModel)169 Test (org.testng.annotations.Test)152 Edge (org.gephi.graph.api.Edge)116 UndirectedGraph (org.gephi.graph.api.UndirectedGraph)102 DirectedGraph (org.gephi.graph.api.DirectedGraph)84 GraphController (org.gephi.graph.api.GraphController)82 HashMap (java.util.HashMap)62 Graph (org.gephi.graph.api.Graph)50 Column (org.gephi.graph.api.Column)22 LinkedList (java.util.LinkedList)17 NodeIterable (org.gephi.graph.api.NodeIterable)12 EdgeIterable (org.gephi.graph.api.EdgeIterable)10 Table (org.gephi.graph.api.Table)10 ArrayList (java.util.ArrayList)7 HashSet (java.util.HashSet)6 GraphElementsController (org.gephi.datalab.api.GraphElementsController)6 Color (java.awt.Color)5 DataTablesController (org.gephi.datalab.api.datatables.DataTablesController)5 MouseClickEventListener (org.gephi.tools.spi.MouseClickEventListener)4