PathTest.java
package org.graphstream.graph.implementations;
import static org.junit.Assert.*;
import java.util.Iterator;
import java.util.List;
import org.graphstream.graph.Node;
import org.graphstream.graph.Path;
import org.junit.Test;
public class PathTest {
//TC-P_C01
@Test
public void emptyPathTest() {
SingleGraph sg = new SingleGraph("single");
Path path = new Path();
boolean isEmpty = path.empty();
assertTrue(isEmpty);
}
//TC-P_C02
@Test
public void rootPathSetRootMethodTest() {
SingleGraph sg = new SingleGraph("single");
Path path = new Path();
sg.addNode("node1");
AbstractNode node1 = sg.getNode("node1");
path.setRoot(node1);
assertEquals(node1, path.getRoot());
}
//TC-P_C03
@Test
public void rootPathAddMethodTest() {
SingleGraph sg = new SingleGraph("single");
Path path = new Path();
sg.addNode("node1");
sg.addNode("node2");
AbstractNode node1 = sg.getNode("node1");
AbstractNode node2 = sg.getNode("node2");
AbstractEdge edge1 = new AbstractEdge("edge_1", node1, node2, true);
path.add(node1, edge1);
assertEquals(node1, path.getRoot());
}
//TC-P_C04
@Test
public void circularPathTest() {
SingleGraph sg = new SingleGraph("single");
Path path = new Path();
sg.addNode("node1");
sg.addNode("node2");
sg.addNode("node3");
AbstractNode node1 = sg.getNode("node1");
AbstractNode node2 = sg.getNode("node2");
AbstractNode node3 = sg.getNode("node3");
AbstractEdge edge1 = new AbstractEdge("edge_1", node1, node2, true);
AbstractEdge edge2 = new AbstractEdge("edge_2", node2, node3, true);
AbstractEdge edge3 = new AbstractEdge("edge_3", node3, node1, true);
path.setRoot(node1);
path.add(node1, edge1);
path.add(node2, edge2);
path.add(node3, edge3);
List<Node> nodes = path.getNodePath();
int size = path.size();
Node lastNode = nodes.get(size-1);
assertEquals(path.getRoot(), lastNode);
}
//TC-P_C05
@Test
public void removeLoopsTest() {
SingleGraph sg = new SingleGraph("single");
Path path = new Path();
sg.addNode("node1");
sg.addNode("node2");
sg.addNode("node3");
AbstractNode node1 = sg.getNode("node1");
AbstractNode node2 = sg.getNode("node2");
AbstractNode node3 = sg.getNode("node3");
AbstractEdge edge1 = new AbstractEdge("edge_1", node1, node2, true);
AbstractEdge edge2 = new AbstractEdge("edge_2", node2, node3, true);
AbstractEdge edge3 = new AbstractEdge("edge_3", node3, node3, true);
path.setRoot(node1);
path.add(node1, edge1);
path.add(node2, edge2);
path.add(node3, edge3);
path.removeLoops();
assertFalse(path.contains(edge3));
}
}