CategoryPartitionRemoveNodeMultiGraph.java
package org.graphstream.graph.implementations;
import static org.junit.Assert.assertEquals;
import org.databene.benerator.anno.Source;
import org.databene.feed4junit.Feeder;
import org.graphstream.graph.Edge;
import org.graphstream.graph.Node;
import org.graphstream.graph.implementations.MultiGraph;
import org.junit.Rule;
import org.junit.Test;
import org.junit.rules.ExpectedException;
import org.junit.runner.RunWith;
@RunWith(Feeder.class)
public class CategoryPartitionRemoveNodeMultiGraph {
@Rule
public ExpectedException exception = ExpectedException.none();
@Test
@Source("csvFiles/categoryPartitionRemoveNodeMultiGraph.csv")
public void mainTest(String idExistence, String idValue, String graphNrNodes, String graphStrictChecking, String nodeDegree){
if(graphNrNodes.equals("0")) {
//error
}
else if(graphNrNodes.equals("many")) {
MultiGraph graph = createGraph(100);
graph.addNode("useless");
if(nodeDegree != "0") {
for(int n = 1; n <+ 50; n++) {
graph.addEdge("node"+n+"TOuseless", graph.getNode("node"+n), graph.getNode("useless"));
graph.addEdge("uselessTOnode"+n, graph.getNode("useless"), graph.getNode("node"+n));
}
}
if((idExistence == "false" || idValue == "''" || idValue == "null") && graphStrictChecking == "false") {
assertEquals(graph.removeNode(graph.getNode("wrong")), null);
}
else if((idExistence == "false" || idValue == "''" || idValue == "null") && graphStrictChecking == "true") {
//error
}
else if(idExistence == "true" && idValue == "correct") {
Node removedNode = graph.removeNode(graph.getNode("useless"));
assertEquals(removedNode.getId(), "useless");
assertEquals(graph.getNodeCount(), 100);
for(Node n : graph.getNodeSet()) {
assertEquals((n.getId() != "useless"), true);
}
for(Edge e : graph.getEdgeSet()) {
assertEquals((e.getNode0().getId() != "useless") && (e.getNode1().getId() != "useless"), true);
}
}
}
}
public MultiGraph createGraph(int n){
MultiGraph graph = new MultiGraph("graph");
for(int i =0; i<n; i++){
graph.addNode("node"+i);
}
return graph;
}
}