Comparar commits

...

2 commits

Autor SHA1 Mensagem Data
bbd6fac17f test(dijkstra): fix file paths 2024-05-17 08:35:48 +02:00
f289793c44 test(dijkstra): use static test class 2024-05-17 08:35:18 +02:00

Ver arquivo

@ -21,18 +21,19 @@ 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";
final String pathName = "./Paths/path_fr31insa_rangueil_r2.path";
final String pathName = "../Paths/path_fr31insa_rangueil_r2.path";
System.out.println("Working Directory = " + System.getProperty("user.dir")); System.out.println("Working Directory = " + System.getProperty("user.dir"));
// Create a graph reader. // Create a graph reader.
try { try {
@ -40,7 +41,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 +51,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 +69,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 +78,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);