本文整理汇总了Java中org.jgrapht.ListenableGraph.addEdge方法的典型用法代码示例。如果您正苦于以下问题:Java ListenableGraph.addEdge方法的具体用法?Java ListenableGraph.addEdge怎么用?Java ListenableGraph.addEdge使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类org.jgrapht.ListenableGraph
的用法示例。
在下文中一共展示了ListenableGraph.addEdge方法的5个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。
示例1: init
import org.jgrapht.ListenableGraph; //导入方法依赖的package包/类
/**
* {@inheritDoc}
*/
public void init()
{
// create a JGraphT graph
ListenableGraph<String, DefaultEdge> g =
new ListenableDirectedMultigraph<String, DefaultEdge>(
DefaultEdge.class);
// create a visualization using JGraph, via an adapter
jgAdapter = new JGraphModelAdapter<String, DefaultEdge>(g);
JGraph jgraph = new JGraph(jgAdapter);
this.add(jgraph);
resize(DEFAULT_SIZE);
String v1 = "v1";
String v2 = "v2";
String v3 = "v3";
String v4 = "v4";
// add some sample data (graph manipulated via JGraphT)
g.addVertex(v1);
g.addVertex(v2);
g.addVertex(v3);
g.addVertex(v4);
g.addEdge(v1, v2);
g.addEdge(v2, v3);
g.addEdge(v3, v1);
g.addEdge(v4, v3);
// position vertices nicely within JGraph component
positionVertexAt(v1, 130, 40);
positionVertexAt(v2, 60, 200);
positionVertexAt(v3, 310, 230);
positionVertexAt(v4, 380, 70);
// that's all there is to it!...
}
示例2: loadTest
import org.jgrapht.ListenableGraph; //导入方法依赖的package包/类
/**
* Tests the JGraphXAdapter with 1.000 nodes and 1.000 edges.
*/
@Test
public void loadTest()
{
final int maxVertices = 1000;
final int maxEdges = 1000;
ListenableGraph<Integer, DefaultEdge> jGraphT
= new ListenableDirectedGraph<Integer, DefaultEdge>(
DefaultEdge.class);
for (int i = 0; i < maxVertices; i++) {
jGraphT.addVertex(i);
}
for (int i = 0; i < maxEdges; i++) {
jGraphT.addEdge(i, (i + 1) % jGraphT.vertexSet().size());
}
JGraphXAdapter<Integer, DefaultEdge> graphX = null;
try {
graphX = new JGraphXAdapter<Integer, DefaultEdge>(jGraphT);
} catch (Exception e) {
fail("Unexpected error while creating JgraphXAdapter with"
+ maxVertices + " vertices and " + maxEdges + " Edges");
}
testMapping(graphX);
}
示例3: genericTest
import org.jgrapht.ListenableGraph; //导入方法依赖的package包/类
/**
* Test scenarios under normal conditions.
*/
@Test
public void genericTest()
{
ListenableGraph<String, DefaultEdge> jGraphT
= new ListenableDirectedGraph<String, DefaultEdge>(DefaultEdge.class);
// fill graph with data
String v1 = "Vertex 1";
String v2 = "Vertex 2";
String v3 = "Vertex 3";
String v4 = "Vertex 4";
jGraphT.addVertex(v1);
jGraphT.addVertex(v2);
jGraphT.addVertex(v3);
jGraphT.addVertex(v4);
final int expectedEdges = 5;
jGraphT.addEdge(v1, v2);
jGraphT.addEdge(v1, v3);
jGraphT.addEdge(v1, v4);
jGraphT.addEdge(v2, v3);
jGraphT.addEdge(v3, v4);
// Create jgraphx graph and test it
JGraphXAdapter<String, DefaultEdge> graphX =
new JGraphXAdapter<String, DefaultEdge>(jGraphT);
testMapping(graphX);
// test if all values are in the jgraphx graph
Object[] expectedArray = {v1, v2, v3, v4};
Arrays.sort(expectedArray);
Object[] realArray = graphX.getCellToVertexMap().values().toArray();
Arrays.sort(realArray);
Assert.assertArrayEquals(expectedArray, realArray);
realArray = graphX.getVertexToCellMap().keySet().toArray();
Arrays.sort(realArray);
Assert.assertArrayEquals(expectedArray, realArray);
int edgesCount = graphX.getCellToEdgeMap().values().size();
Assert.assertEquals(expectedEdges, edgesCount);
edgesCount = graphX.getEdgeToCellMap().keySet().size();
Assert.assertEquals(expectedEdges, edgesCount);
}
示例4: listenerTest
import org.jgrapht.ListenableGraph; //导入方法依赖的package包/类
/**
* Tests the correct implementation of the GraphListener interface.
*/
@Test
public void listenerTest()
{
ListenableGraph<String, String> jGraphT
= new ListenableDirectedGraph<String, String>(String.class);
JGraphXAdapter<String, String> graphX
= new JGraphXAdapter<String, String>(jGraphT);
// add some data to the jgrapht graph - changes should be propagated
// through jgraphxadapters graphlistener interface
String v1 = "Vertex 1";
String v2 = "Vertex 2";
String v3 = "Vertex 3";
String v4 = "Vertex 4";
jGraphT.addVertex(v1);
jGraphT.addVertex(v2);
jGraphT.addVertex(v3);
jGraphT.addVertex(v4);
jGraphT.addEdge(v1, v2, "Edge 1");
jGraphT.addEdge(v1, v3, "Edge 2");
jGraphT.addEdge(v1, v4, "Edge 3");
jGraphT.addEdge(v2, v3, "Edge 4");
jGraphT.addEdge(v3, v4, "Edge 5");
int expectedEdges = jGraphT.edgeSet().size();
testMapping(graphX);
// test if all values are in the jgraphx graph
Object[] expectedArray = {v1, v2, v3, v4};
Arrays.sort(expectedArray);
Object[] realArray = graphX.getCellToVertexMap().values().toArray();
Arrays.sort(realArray);
Assert.assertArrayEquals(expectedArray, realArray);
realArray = graphX.getVertexToCellMap().keySet().toArray();
Arrays.sort(realArray);
Assert.assertArrayEquals(expectedArray, realArray);
int edgesCount = graphX.getCellToEdgeMap().values().size();
Assert.assertEquals(expectedEdges, edgesCount);
edgesCount = graphX.getEdgeToCellMap().keySet().size();
Assert.assertEquals(expectedEdges, edgesCount);
// remove some data from the jgraphT graph
jGraphT.removeVertex(v4);
jGraphT.removeVertex(v3);
jGraphT.removeEdge(v1, v2);
int expectedEdgesAfterRemove = jGraphT.edgeSet().size();
// test if all values are in the jgraphx graph
expectedArray = new Object[] {v1, v2};
Arrays.sort(expectedArray);
realArray = graphX.getCellToVertexMap().values().toArray();
Arrays.sort(realArray);
Assert.assertArrayEquals(expectedArray, realArray);
realArray = graphX.getVertexToCellMap().keySet().toArray();
Arrays.sort(realArray);
Assert.assertArrayEquals(expectedArray, realArray);
edgesCount = graphX.getCellToEdgeMap().values().size();
Assert.assertEquals(expectedEdgesAfterRemove, edgesCount);
edgesCount = graphX.getEdgeToCellMap().keySet().size();
Assert.assertEquals(expectedEdgesAfterRemove, edgesCount);
}
示例5: duplicateEntriesTest
import org.jgrapht.ListenableGraph; //导入方法依赖的package包/类
/**
* Test if duplicate Entries are saved only once.
*/
@Test
public void duplicateEntriesTest()
{
ListenableGraph<String, DefaultEdge> jGraphT
= new ListenableDirectedGraph<String, DefaultEdge>(DefaultEdge.class);
JGraphXAdapter<String, DefaultEdge> graphX =
new JGraphXAdapter<String, DefaultEdge>(jGraphT);
// fill graph with data
String v1 = "Vertex 1";
String v2 = "Vertex 2";
String v3 = "Vertex 3";
String v4 = "Vertex 4";
DefaultEdge edge1 = new DefaultEdge();
jGraphT.addVertex(v1);
jGraphT.addVertex(v2);
jGraphT.addVertex(v3);
jGraphT.addVertex(v4);
jGraphT.addVertex(v1);
jGraphT.addVertex(v2);
jGraphT.addVertex(v3);
jGraphT.addVertex(v4);
/*
* edge1 is added 3 times with different source/target vertices it
* should only add it once. A new edge is added with source-target
* combination already in the graph it should not be added to the graph.
*/
final int expectedEdges = 3;
jGraphT.addEdge(v1, v2, edge1);
jGraphT.addEdge(v1, v2, new DefaultEdge());
jGraphT.addEdge(v1, v3, edge1);
jGraphT.addEdge(v1, v4, edge1);
jGraphT.addEdge(v2, v3);
jGraphT.addEdge(v3, v4);
testMapping(graphX);
// test if all values are in the jgraphx graph
Object[] expectedArray = {v1, v2, v3, v4};
Arrays.sort(expectedArray);
Object[] realArray = graphX.getCellToVertexMap().values().toArray();
Arrays.sort(realArray);
Assert.assertArrayEquals(expectedArray, realArray);
realArray = graphX.getVertexToCellMap().keySet().toArray();
Arrays.sort(realArray);
Assert.assertArrayEquals(expectedArray, realArray);
int edgesCount = graphX.getCellToEdgeMap().values().size();
Assert.assertEquals(expectedEdges, edgesCount);
edgesCount = graphX.getEdgeToCellMap().keySet().size();
Assert.assertEquals(expectedEdges, edgesCount);
}