test(dijkstra): use static test class

This commit is contained in:
Paul Alnet 2024-05-17 08:35:18 +02:00
parent 72b117f83b
commit f289793c44

View file

@ -21,14 +21,14 @@ import org.junit.Test;
public class DijkstraAlgorithmTest { public class DijkstraAlgorithmTest {
// TODO finish this // TODO finish this
public GraphReader reader; public static GraphReader reader;
public Graph graph; public static Graph graph;
public PathReader pathReader; public static PathReader pathReader;
public Path path; public static Path path;
@BeforeClass @BeforeClass
public void init() { public static void init() {
// Visit these directory to see the list of available files on Commetud. // Visit these directory to see the list of available files on Commetud.
// When running with VSC, paths are relative to the BE_Graphes directory. // When running with VSC, paths are relative to the BE_Graphes directory.
final String mapName = "./Maps/insa.mapgr"; final String mapName = "./Maps/insa.mapgr";
@ -40,7 +40,7 @@ public class DijkstraAlgorithmTest {
new DataInputStream(new BufferedInputStream(new FileInputStream(mapName)))); new DataInputStream(new BufferedInputStream(new FileInputStream(mapName))));
// Read the graph. X // Read the graph. X
this.graph = reader.read(); graph = reader.read();
// free resources // free resources
reader.close(); reader.close();
@ -50,7 +50,7 @@ public class DijkstraAlgorithmTest {
pathReader.close(); pathReader.close();
// Read the path. // Read the path.
this.path = pathReader.readPath(graph); path = pathReader.readPath(graph);
} }
catch (FileNotFoundException e) { catch (FileNotFoundException e) {
System.err.println("File not found: " + e.getMessage()); System.err.println("File not found: " + e.getMessage());
@ -68,7 +68,6 @@ public class DijkstraAlgorithmTest {
// appeler constructeur dijkstra // appeler constructeur dijkstra
// donner le path à afficher en renvoyant le path de dijkstra dans path. // donner le path à afficher en renvoyant le path de dijkstra dans path.
// Chemin court => Bellman OK et vérifié. On compare les résultats obtenus par les 2 algos // Chemin court => Bellman OK et vérifié. On compare les résultats obtenus par les 2 algos
public void Test_Toulouse_court_chemin() {
ArcInspector arcInspector; ArcInspector arcInspector;
ShortestPathData data = new ShortestPathData(this.graph, this.path.getOrigin(), this.path.getDestination(), null); ShortestPathData data = new ShortestPathData(this.graph, this.path.getOrigin(), this.path.getDestination(), null);
@ -78,10 +77,11 @@ public class DijkstraAlgorithmTest {
BellmanFordAlgorithm bellman = new BellmanFordAlgorithm(data); BellmanFordAlgorithm bellman = new BellmanFordAlgorithm(data);
ShortestPathSolution bell_path = bellman.doRun(); ShortestPathSolution bell_path = bellman.doRun();
assert(dijk_path.getPath() == bell_path.getPath()); assert(dijk_path.getPath() == bell_path.getPath());
public void testToulouseCourtChemin() {
} }
// Long chemin => Bellman trop long, on compare dijkstra au chemin récupéré directement // Long chemin => Bellman trop long, on compare dijkstra au chemin récupéré directement
public void Test_Toulouse_long_chemin() { public void testToulouseLongChemin() {
init(); init();
ArcInspector arcInspector; ArcInspector arcInspector;
ShortestPathData data = new ShortestPathData(this.graph, this.path.getOrigin(), this.path.getDestination(), null); ShortestPathData data = new ShortestPathData(this.graph, this.path.getOrigin(), this.path.getDestination(), null);