classe label et algo dijkstra

This commit is contained in:
Pellerin Tiphaine 2026-04-16 10:45:43 +02:00
parent 2307858389
commit dd6632a1b3
70 changed files with 658 additions and 18 deletions

View file

@ -1,5 +1,15 @@
package org.insa.graphs.algorithm.shortestpath;
import java.util.ArrayList;
import java.util.Collections;
import org.insa.graphs.algorithm.utils.BinaryHeap;
import org.insa.graphs.model.Arc;
import org.insa.graphs.model.Graph;
import org.insa.graphs.model.Node;
import org.insa.graphs.algorithm.AbstractSolution.Status;
import org.insa.graphs.model.Path;
public class DijkstraAlgorithm extends ShortestPathAlgorithm {
public DijkstraAlgorithm(ShortestPathData data) {
@ -9,16 +19,84 @@ public class DijkstraAlgorithm extends ShortestPathAlgorithm {
@Override
protected ShortestPathSolution doRun() {
// retrieve data from the input problem (getInputData() is inherited from the
// parent class ShortestPathAlgorithm)
final ShortestPathData data = getInputData();
Graph graph = data.getGraph();
final int nbNodes = graph.size();
ArrayList<Label> listLabel = new ArrayList<Label>(nbNodes) ;
BinaryHeap<Label> tas = new BinaryHeap<Label>();
// variable that will contain the solution of the shortest path problem
ShortestPathSolution solution = null;
// TODO: implement the Dijkstra algorithm
// initialisation
int premier = 0 ;
for(Node nod : graph.getNodes()){
Label l = new Label(nod, false, -1, null);
listLabel.add(nod.getId(),l );
if (premier==0){
tas.insert(l);
premier += 1 ;
l.cout = 0 ;
}
}
int marques = graph.size();
// iterations
while (marques != 0){
Label xl = tas.findMin();
Node x = xl.getSommetCourant() ;
xl.marque = true ;
marques -= 1;
for(Arc a : x.getSuccessors()){
Node n = a.getDestination();
if (!listLabel.get(n.getId()).getMarque()){
int c = listLabel.get(n.getId()).cout ;
int w = listLabel.get(x.getId()).cout + (int)a.getLength() ;
if (c<w){
listLabel.get(n.getId()).cout = c;
}
else{
listLabel.get(n.getId()).cout = w;
tas.insert(listLabel.get(n.getId()));
listLabel.get(n.getId()).pere = a ;
}
}
}
}
// when the algorithm terminates, return the solution that has been found
Arc[] predecessorArcs = new Arc[nbNodes];
if (predecessorArcs[data.getDestination().getId()] == null) {
solution = new ShortestPathSolution(data, Status.INFEASIBLE);
}
else {
// The destination has been found, notify the observers.
notifyDestinationReached(data.getDestination());
// Create the path from the array of predecessors...
ArrayList<Arc> arcs = new ArrayList<>();
Arc arc = predecessorArcs[data.getDestination().getId()];
while (arc != null) {
arcs.add(arc);
arc = predecessorArcs[arc.getOrigin().getId()];
}
// Reverse the path...
Collections.reverse(arcs);
// Create the final solution.
solution = new ShortestPathSolution(data, Status.OPTIMAL,
new Path(graph, arcs));
}
return solution;
}

View file

@ -0,0 +1,53 @@
package org.insa.graphs.algorithm.shortestpath;
import org.insa.graphs.model.Arc;
import org.insa.graphs.model.Node;
public class Label implements Comparable<Label>{
protected Node sommetCourant ;
protected Boolean marque ;
protected int cout ;
protected Arc pere ;
public Label(Node s, Boolean m, int c, Arc p){
this.sommetCourant = s;
this.cout = c;
this.marque = m;
this.pere = p;
}
public Node getSommetCourant(){
return this.sommetCourant ;
}
public Boolean getMarque(){
return this.marque ;
}
public int getCout(){
return this.cout;
}
public Arc getPere(){
return this.pere ;
}
public int getCost(){
int cost = this.cout ;
return cost ;
}
public int compareTo(Label l){
if (this.cout < l.cout){
return -1;
}
else if(this.cout>l.cout){
return 1;
}
else{
return 0;
}
}
}

View file

@ -52,22 +52,23 @@ public class BinarySearchTree<E extends Comparable<E>> implements PriorityQueue<
if (this.elems.contains(x)) {
// x is known to be here.
boolean removed = this.sortedSet.remove(x) ;
this.elems.remove(x) ;
boolean removed = this.sortedSet.remove(x);
this.elems.remove(x);
if (!removed) {
// The element x was not found in the sorted tree, because its value has changed.
// The element x was not found in the sorted tree, because its value has
// changed.
// However, we know it is here.
// This forces the sorted set to be reorganized
SortedSet<E> ts = this.sortedSet ;
this.sortedSet = new TreeSet<>() ;
SortedSet<E> ts = this.sortedSet;
this.sortedSet = new TreeSet<>();
for (E y : ts) {
this.sortedSet.add(y) ;
this.sortedSet.add(y);
}
removed = this.sortedSet.remove(x) ;
assert(removed) ;
removed = this.sortedSet.remove(x);
assert (removed);
}
}
else {

View file

@ -43,16 +43,17 @@ public abstract class PriorityQueueTest {
protected static class MutableInteger implements Comparable<MutableInteger> {
// Actual value
private int value ;
private int value;
// Unique identifier, used to get a hashcode that does not depend on the value (which may change)
private int id ;
// Unique identifier, used to get a hashcode that does not depend on the value
// (which may change)
private int id;
private static int counter = 1000 ;
private static int counter = 1000;
public MutableInteger(int value) {
this.value = value ;
this.id = counter++ ;
this.value = value;
this.id = counter++;
}
/**
@ -73,8 +74,10 @@ public abstract class PriorityQueueTest {
@Override
public int compareTo(MutableInteger other) {
if (this.id == other.id) return 0 ;
else return Integer.compare(this.value, other.value);
if (this.id == other.id)
return 0;
else
return Integer.compare(this.value, other.value);
}
@Override
@ -318,7 +321,8 @@ public abstract class PriorityQueueTest {
Assume.assumeFalse(queue.isEmpty());
int min = Collections.min(Arrays.asList(parameters.data)).get();
for (MutableInteger mi : parameters.data) {
// Update value before removing it. This is what happens when updating a Dijkstra label before updating it.
// Update value before removing it. This is what happens when updating a
// Dijkstra label before updating it.
mi.set(--min);
queue.remove(mi);

View file

@ -0,0 +1,40 @@
/src/main/java/org/insa/graphs/algorithm/AbstractAlgorithm.java=55d69acaa4f22cecd1f2a25637620ca7bcc8bd97ecce37c8f40e79730976ca4928e165c40f4070eb0df035615c69a72610d142793f9481cd838379878ce309f8
/src/main/java/org/insa/graphs/algorithm/AbstractInputData.java=13c9be0710d9ffd507d3919c1b8bd0d8533a156a39a81c13883432be2dfe6ba7ac470d94911ea1f4d624e28a83414661ff429313704d504ca1b3a04af7a4b938
/src/main/java/org/insa/graphs/algorithm/AbstractSolution.java=3eb21b1e04d75dc59fcc56921428c5116ed41670c57bfe5e6f004d3cd0915c970befa0f5a77bcefb037544b143bd3181c5117aaf185c59a54f452a42d7cbc756
/src/main/java/org/insa/graphs/algorithm/AlgorithmFactory.java=d7c366f8e50653d3182eb2ee3d93e12bb434c3f460d532eafe3f23fa83a0c44b6a5f606c4c351ba0b22258de337cfec7fdc1462107a03f4ad6df8ebbba34b431
/src/main/java/org/insa/graphs/algorithm/ArcInspector.java=d5048fb30c4ea57dca3c2d8e1b291fb7f666010d6c90dc73febd280d404f69ab82d272276e4641eac3d21b724cfa7a0090559857e954ea03244cb410148fd589
/src/main/java/org/insa/graphs/algorithm/ArcInspectorFactory.java=32f36979bb3594f592993bd450f1294f3afcaff2a8c2717301b0db90a8e7f0fe115c3c2006b0a6cf32184828c75378473c6a8fd73f0a10f6518b0d096971c1e7
/src/main/java/org/insa/graphs/algorithm/carpooling/CarPoolingAlgorithm.java=d23dd28906b7960f81c14192a241b47b32aa7b714896c991a6a7c7e80492899d9ec35a305d4af9f6f1e792c1037c9c5383f27cd5dfb702fd3b86d4263252c873
/src/main/java/org/insa/graphs/algorithm/carpooling/CarPoolingData.java=15ba20ba1ec25b6709fe31542ca3f0c62cb2853c27a1116ce6fd7a1022fc9bb7028c3b5acac220a9a9229cf1a63790f5342947656284c1f4c3cc2ce2664c2dcb
/src/main/java/org/insa/graphs/algorithm/carpooling/CarPoolingGraphicObserver.java=078e89d27ead019712d0d470b2a0893ae481aeb950eb7fc7b9505444234c43fad8b4ec583c2f439eead3c006584485ee8a473e42b065be8a4d5890ba967240d8
/src/main/java/org/insa/graphs/algorithm/carpooling/CarPoolingObserver.java=f7065ba47003caff2e83f8ac4a4791a5d5331e44fbd362b2708989f1ef6b9b59e35ebcc555bf26e2c8b9b539fa17159e1dc95d2254c04c25eeaf7f90e1899952
/src/main/java/org/insa/graphs/algorithm/carpooling/CarPoolingSolution.java=e9ebed706f9af6b56aafd200ab0a4328005c1d04acee1e6a9f5f0fe8763b4c5513bfca58a918c26d118536aa0b5d4c821d9ff1a539eed26276e598ae27009cb2
/src/main/java/org/insa/graphs/algorithm/carpooling/CarPoolingTextObserver.java=38932cdbe9c06a144c98b6fe4366796e39f9f6336a58422137b03f46143ed61192da0d738a1e41155963bf44a83e9b9f45f11ca4d68032b4a8fc64ffd4ff40fb
/src/main/java/org/insa/graphs/algorithm/packageswitch/PackageSwitchAlgorithm.java=c7b3ea49f270a70cd2f066b439947ef46c298ea999c8f55661d97fbe4eda278b991e23cbd3f41098f53cd9531a3c247b6fa6fbcfd3bd85ad8121d725797c8790
/src/main/java/org/insa/graphs/algorithm/packageswitch/PackageSwitchData.java=08203690e596aac734adeda7eb483b6b02285d12f3333a4803811fdc50a918d99113f5860b5f0b8851a08ee5c8583fa6bd4acbe6de102b9fd400d2a518c46e7a
/src/main/java/org/insa/graphs/algorithm/packageswitch/PackageSwitchGraphicObserver.java=e2dc2c1c36c47e89349d053beb48b0304844be1438d61bc623d2c229b5dafc3b081b8c1a59722857639bc360d7836d81c45fd4084830b2c9e4036cc341b049f4
/src/main/java/org/insa/graphs/algorithm/packageswitch/PackageSwitchObserver.java=d0d77672f48e15069d63dc2b5a1f151c01893b73a7d1bffb2d760abffd17007d5f144e88b4a9c5bfe002d78a5131ab00c8302b1ad9a925107c7ee704143dafbb
/src/main/java/org/insa/graphs/algorithm/packageswitch/PackageSwitchSolution.java=eb7ac9a2f7af740aee181479f9dd9edf009cdb8d3a604424d95b615811155b98017251f6129a637089258d7e39d697440d10cee6bc0df50d4667596ee8e50fe8
/src/main/java/org/insa/graphs/algorithm/packageswitch/PackageSwitchTextObserver.java=63f699c944f236f31b35ebaa4297d8d022ad5289e407a51c07403adaa484a053368f52b752b7d0e7c323f401b2c3c9329892a2d9cdd02ce7bda9d0c4586c60ea
/src/main/java/org/insa/graphs/algorithm/shortestpath/AStarAlgorithm.java=f31e49f986774bd19e436b50a3e488f839b5215494dfe7f0c24aa44cbb3da82205fa3669db098a2b968fdc92d3ffce4c470443a318cfd0426613df9e6541ecb1
/src/main/java/org/insa/graphs/algorithm/shortestpath/BellmanFordAlgorithm.java=51da9a9f776d85e15d5aff9d5c9114e0e8c8e4a109da85e2f75979e5238ae27fe5f5548b98ee03b9eb8064f9ccb08cbc0007f878f508308874bdefa18a31643c
/src/main/java/org/insa/graphs/algorithm/shortestpath/DijkstraAlgorithm.java=7076d11b3d2b3283bb677d26b944720d96cf41f8128272edb7d12f22d47fb24daa475499cf7c0848f9e0d626f7c209a344000fca5ec0c0e958418d9cda7d8544
/src/main/java/org/insa/graphs/algorithm/shortestpath/ShortestPathAlgorithm.java=40df96353e91a4180903e1337a040952e424add411c479b100a208cf10b788a884239295b032b704c2beb1d8a601584710533c4bcb8e1759c6b2589c1f2330de
/src/main/java/org/insa/graphs/algorithm/shortestpath/ShortestPathData.java=e6a4e67deb03cb69fbbb17df11970ca9c681b6690ef42a8c975bbc6df6a4a275f05d08399d2972a86415fc570ce4b5b19b367fbe8b43c8e2a5bf8681a142e5e2
/src/main/java/org/insa/graphs/algorithm/shortestpath/ShortestPathObserver.java=e31750bea0c254077f6de39a2ac33a961710e0ec370bb646638ec102ff81c721a053ceaf3c633d1d311dcfce9f6203130bd2b03adb9edf640fc00b305ab4af33
/src/main/java/org/insa/graphs/algorithm/shortestpath/ShortestPathSolution.java=1a67aa2053100763ce06d5278c323a3bafd47e6c376c17b6a3d9a2e3ef557c1d0a6035dff5b466498e3025acdbce08b04f2df12e3ef96eef6bd6af0ba4c54ac0
/src/main/java/org/insa/graphs/algorithm/shortestpath/ShortestPathTextObserver.java=c79ce6effa45596c76a51a4af40326177a78f19f0949b998bd08c966bcd247f7c22b623d9d8c203586eb2e5388a63407fbbc2b4635b2ebb29e8b854b7f4572c4
/src/main/java/org/insa/graphs/algorithm/utils/BinaryHeap.java=1b05a3246c188ad9e22cb6106c4f8f694d13b4ad03cac4ff7ed3c140e5524b724bf11e70e082a0e5d64fa1b41aa280ffdd7d1266282f6fddb24f960015e46bfb
/src/main/java/org/insa/graphs/algorithm/utils/BinaryHeapFormatter.java=bf96d73de01097160246defa095567938fc3dea7379d212e0f340c6987392393f03943010c5fd4576bcc5deb885d2e95910ec6304c3a8afacc8e3a11e74ac1ac
/src/main/java/org/insa/graphs/algorithm/utils/BinarySearchTree.java=6144571d3285e76013fa256fec11cd0aae4b3b0a163eb3b460ed7eff2ecf3697819f319c16edfd811de6f56d6a4b5980957ac9a67d35262bc55e62d0877cc1ba
/src/main/java/org/insa/graphs/algorithm/utils/ElementNotFoundException.java=6d698ddca3abb27de63a7ffd754532cba9d33d85cd80bf7b060a0360b684836c5c8eb9b67c916d18d10c9bbc2052473e14e901f209c45b7dd11f1944ea06b321
/src/main/java/org/insa/graphs/algorithm/utils/EmptyPriorityQueueException.java=cb39316cf86bf4a0519e4f10c102b09e256095cbb8eea4c79adf9a6bf29eb69d72b137b8c846f97aaa4cacc61ff8def98ec2edaaf3da06dd17a8c1787c6ac21d
/src/main/java/org/insa/graphs/algorithm/utils/PriorityQueue.java=0739a3ebe0c97a79b872ce946de8d5169d34d31a2d3c06f33b25a22509527394d0c4d02bab315d6249561a6111abbc89d2d253b4b673bb5af48a7dfb8fdb6b29
/src/main/java/org/insa/graphs/algorithm/weakconnectivity/WeaklyConnectedComponentObserver.java=24e0a65c6e7d7c1cc970dbf877efeeb93fb535cb7eedd00bc59d86d15af63185c743e92b2023e61c5b893c7b2820fb7df67ab6519139a619bcee84e05b7c47c8
/src/main/java/org/insa/graphs/algorithm/weakconnectivity/WeaklyConnectedComponentTextObserver.java=39a89d6b2df3c61f0f73556fad32a1b325160e09ebd608a7f161b676304434a551effc413a8fe91e20d4c8fe35a5c92aab76b55773e8eb94fdbac0c7b43aceda
/src/main/java/org/insa/graphs/algorithm/weakconnectivity/WeaklyConnectedComponentsAlgorithm.java=c8bf3e410577a7cc4942efc0ee159e76956714db13e0501001cb7c853d1a20592ee3c34b5b4242d31b6db664d2baa5b7a660db14a802dbd3e9a49fc2968af47c
/src/main/java/org/insa/graphs/algorithm/weakconnectivity/WeaklyConnectedComponentsData.java=91dcbc95d34967c389c3d96c3706622010982275c8ba64bf0ec074c640b40e6ff8179020f7515b05ee3b1f89f1169858cb45f1b3109b14b42b5f22e64b44d2af
/src/main/java/org/insa/graphs/algorithm/weakconnectivity/WeaklyConnectedComponentsSolution.java=ca4ace3753f05ef3912750039efb829a424c34a732afe832c6892ce49fd8565ced30dda9a4853d73bba2e2269be8a2abfecb2efbcb0d8514589b771340492718
/src/test/java/org/insa/graphs/algorithm/utils/BinaryHeapTest.java=a234391782532d8c2ab89bade30a4caf0f46874ad84b8eda58983a9a87be17e2f689129fe194a02f9f43e94e329ad235a044a230b0f4f5438ad886abe700ee3f
/src/test/java/org/insa/graphs/algorithm/utils/BinarySearchTreeTest.java=0b47625eb35125d89f47b16523cdd286a836b1f40ad417040c517256ac10781ef1c4a1c99511b97035ae14e5563a8191eaabbe9c42e991688731711f47d96a6e
/src/test/java/org/insa/graphs/algorithm/utils/PriorityQueueTest.java=9cc3887f962df905ea3386d9f2c4d52f4d9ced1cbfdeaabf74cf29afcd3e15b17fb6314ad13a66bcfc23582f790f3cfcc0b6a2e704b1340d60217b1900e96349

View file

@ -0,0 +1,3 @@
artifactId=be-graphes-algos
groupId=org.insa.graphs
version=0.0.1-SNAPSHOT

View file

@ -0,0 +1,44 @@
org/insa/graphs/algorithm/packageswitch/PackageSwitchAlgorithm.class
org/insa/graphs/algorithm/shortestpath/BellmanFordAlgorithm.class
org/insa/graphs/algorithm/utils/PriorityQueue.class
org/insa/graphs/algorithm/carpooling/CarPoolingObserver.class
org/insa/graphs/algorithm/utils/BinaryHeapFormatter$Context.class
org/insa/graphs/algorithm/utils/BinaryHeapFormatter.class
org/insa/graphs/algorithm/AbstractAlgorithm.class
org/insa/graphs/algorithm/packageswitch/PackageSwitchObserver.class
org/insa/graphs/algorithm/shortestpath/ShortestPathSolution.class
org/insa/graphs/algorithm/packageswitch/PackageSwitchData.class
org/insa/graphs/algorithm/AbstractSolution.class
org/insa/graphs/algorithm/shortestpath/ShortestPathTextObserver.class
org/insa/graphs/algorithm/utils/BinaryHeap.class
org/insa/graphs/algorithm/AbstractInputData.class
org/insa/graphs/algorithm/shortestpath/ShortestPathObserver.class
org/insa/graphs/algorithm/shortestpath/ShortestPathData.class
org/insa/graphs/algorithm/ArcInspectorFactory.class
org/insa/graphs/algorithm/utils/BinarySearchTree.class
org/insa/graphs/algorithm/carpooling/CarPoolingAlgorithm.class
org/insa/graphs/algorithm/carpooling/CarPoolingSolution.class
org/insa/graphs/algorithm/shortestpath/ShortestPathAlgorithm.class
org/insa/graphs/algorithm/weakconnectivity/WeaklyConnectedComponentTextObserver.class
org/insa/graphs/algorithm/weakconnectivity/WeaklyConnectedComponentsAlgorithm.class
org/insa/graphs/algorithm/carpooling/CarPoolingData.class
org/insa/graphs/algorithm/AbstractInputData$Mode.class
org/insa/graphs/algorithm/utils/ElementNotFoundException.class
org/insa/graphs/algorithm/ArcInspector.class
org/insa/graphs/algorithm/packageswitch/PackageSwitchGraphicObserver.class
org/insa/graphs/algorithm/ArcInspectorFactory$OnlyCarsByLengthArcInspector.class
org/insa/graphs/algorithm/weakconnectivity/WeaklyConnectedComponentsSolution.class
org/insa/graphs/algorithm/packageswitch/PackageSwitchTextObserver.class
org/insa/graphs/algorithm/packageswitch/PackageSwitchSolution.class
org/insa/graphs/algorithm/ArcInspectorFactory$NoFilterByLengthArcInspector.class
org/insa/graphs/algorithm/weakconnectivity/WeaklyConnectedComponentObserver.class
org/insa/graphs/algorithm/utils/EmptyPriorityQueueException.class
org/insa/graphs/algorithm/shortestpath/AStarAlgorithm.class
org/insa/graphs/algorithm/shortestpath/DijkstraAlgorithm.class
org/insa/graphs/algorithm/AlgorithmFactory.class
org/insa/graphs/algorithm/carpooling/CarPoolingTextObserver.class
org/insa/graphs/algorithm/ArcInspectorFactory$OnlyCarsByTimeArcInspector.class
org/insa/graphs/algorithm/ArcInspectorFactory$OnlyPedestrianByTime.class
org/insa/graphs/algorithm/AbstractSolution$Status.class
org/insa/graphs/algorithm/carpooling/CarPoolingGraphicObserver.class
org/insa/graphs/algorithm/weakconnectivity/WeaklyConnectedComponentsData.class

View file

@ -0,0 +1,37 @@
/home/tpellerin/Bureau/graphes/BE_Graphes/be-graphes-algos/src/main/java/org/insa/graphs/algorithm/carpooling/CarPoolingAlgorithm.java
/home/tpellerin/Bureau/graphes/BE_Graphes/be-graphes-algos/src/main/java/org/insa/graphs/algorithm/shortestpath/AStarAlgorithm.java
/home/tpellerin/Bureau/graphes/BE_Graphes/be-graphes-algos/src/main/java/org/insa/graphs/algorithm/packageswitch/PackageSwitchAlgorithm.java
/home/tpellerin/Bureau/graphes/BE_Graphes/be-graphes-algos/src/main/java/org/insa/graphs/algorithm/packageswitch/PackageSwitchObserver.java
/home/tpellerin/Bureau/graphes/BE_Graphes/be-graphes-algos/src/main/java/org/insa/graphs/algorithm/ArcInspector.java
/home/tpellerin/Bureau/graphes/BE_Graphes/be-graphes-algos/src/main/java/org/insa/graphs/algorithm/ArcInspectorFactory.java
/home/tpellerin/Bureau/graphes/BE_Graphes/be-graphes-algos/src/main/java/org/insa/graphs/algorithm/carpooling/CarPoolingGraphicObserver.java
/home/tpellerin/Bureau/graphes/BE_Graphes/be-graphes-algos/src/main/java/org/insa/graphs/algorithm/AlgorithmFactory.java
/home/tpellerin/Bureau/graphes/BE_Graphes/be-graphes-algos/src/main/java/org/insa/graphs/algorithm/carpooling/CarPoolingTextObserver.java
/home/tpellerin/Bureau/graphes/BE_Graphes/be-graphes-algos/src/main/java/org/insa/graphs/algorithm/packageswitch/PackageSwitchTextObserver.java
/home/tpellerin/Bureau/graphes/BE_Graphes/be-graphes-algos/src/main/java/org/insa/graphs/algorithm/shortestpath/ShortestPathData.java
/home/tpellerin/Bureau/graphes/BE_Graphes/be-graphes-algos/src/main/java/org/insa/graphs/algorithm/AbstractAlgorithm.java
/home/tpellerin/Bureau/graphes/BE_Graphes/be-graphes-algos/src/main/java/org/insa/graphs/algorithm/carpooling/CarPoolingSolution.java
/home/tpellerin/Bureau/graphes/BE_Graphes/be-graphes-algos/src/main/java/org/insa/graphs/algorithm/utils/BinarySearchTree.java
/home/tpellerin/Bureau/graphes/BE_Graphes/be-graphes-algos/src/main/java/org/insa/graphs/algorithm/shortestpath/BellmanFordAlgorithm.java
/home/tpellerin/Bureau/graphes/BE_Graphes/be-graphes-algos/src/main/java/org/insa/graphs/algorithm/packageswitch/PackageSwitchSolution.java
/home/tpellerin/Bureau/graphes/BE_Graphes/be-graphes-algos/src/main/java/org/insa/graphs/algorithm/utils/EmptyPriorityQueueException.java
/home/tpellerin/Bureau/graphes/BE_Graphes/be-graphes-algos/src/main/java/org/insa/graphs/algorithm/packageswitch/PackageSwitchData.java
/home/tpellerin/Bureau/graphes/BE_Graphes/be-graphes-algos/src/main/java/org/insa/graphs/algorithm/shortestpath/ShortestPathAlgorithm.java
/home/tpellerin/Bureau/graphes/BE_Graphes/be-graphes-algos/src/main/java/org/insa/graphs/algorithm/AbstractSolution.java
/home/tpellerin/Bureau/graphes/BE_Graphes/be-graphes-algos/src/main/java/org/insa/graphs/algorithm/AbstractInputData.java
/home/tpellerin/Bureau/graphes/BE_Graphes/be-graphes-algos/src/main/java/org/insa/graphs/algorithm/shortestpath/ShortestPathObserver.java
/home/tpellerin/Bureau/graphes/BE_Graphes/be-graphes-algos/src/main/java/org/insa/graphs/algorithm/utils/PriorityQueue.java
/home/tpellerin/Bureau/graphes/BE_Graphes/be-graphes-algos/src/main/java/org/insa/graphs/algorithm/utils/BinaryHeapFormatter.java
/home/tpellerin/Bureau/graphes/BE_Graphes/be-graphes-algos/src/main/java/org/insa/graphs/algorithm/weakconnectivity/WeaklyConnectedComponentsSolution.java
/home/tpellerin/Bureau/graphes/BE_Graphes/be-graphes-algos/src/main/java/org/insa/graphs/algorithm/shortestpath/DijkstraAlgorithm.java
/home/tpellerin/Bureau/graphes/BE_Graphes/be-graphes-algos/src/main/java/org/insa/graphs/algorithm/weakconnectivity/WeaklyConnectedComponentTextObserver.java
/home/tpellerin/Bureau/graphes/BE_Graphes/be-graphes-algos/src/main/java/org/insa/graphs/algorithm/weakconnectivity/WeaklyConnectedComponentsData.java
/home/tpellerin/Bureau/graphes/BE_Graphes/be-graphes-algos/src/main/java/org/insa/graphs/algorithm/carpooling/CarPoolingObserver.java
/home/tpellerin/Bureau/graphes/BE_Graphes/be-graphes-algos/src/main/java/org/insa/graphs/algorithm/weakconnectivity/WeaklyConnectedComponentObserver.java
/home/tpellerin/Bureau/graphes/BE_Graphes/be-graphes-algos/src/main/java/org/insa/graphs/algorithm/shortestpath/ShortestPathSolution.java
/home/tpellerin/Bureau/graphes/BE_Graphes/be-graphes-algos/src/main/java/org/insa/graphs/algorithm/utils/ElementNotFoundException.java
/home/tpellerin/Bureau/graphes/BE_Graphes/be-graphes-algos/src/main/java/org/insa/graphs/algorithm/utils/BinaryHeap.java
/home/tpellerin/Bureau/graphes/BE_Graphes/be-graphes-algos/src/main/java/org/insa/graphs/algorithm/carpooling/CarPoolingData.java
/home/tpellerin/Bureau/graphes/BE_Graphes/be-graphes-algos/src/main/java/org/insa/graphs/algorithm/shortestpath/ShortestPathTextObserver.java
/home/tpellerin/Bureau/graphes/BE_Graphes/be-graphes-algos/src/main/java/org/insa/graphs/algorithm/packageswitch/PackageSwitchGraphicObserver.java
/home/tpellerin/Bureau/graphes/BE_Graphes/be-graphes-algos/src/main/java/org/insa/graphs/algorithm/weakconnectivity/WeaklyConnectedComponentsAlgorithm.java

View file

@ -0,0 +1,5 @@
org/insa/graphs/algorithm/utils/BinarySearchTreeTest.class
org/insa/graphs/algorithm/utils/PriorityQueueTest$MutableInteger.class
org/insa/graphs/algorithm/utils/PriorityQueueTest.class
org/insa/graphs/algorithm/utils/BinaryHeapTest.class
org/insa/graphs/algorithm/utils/PriorityQueueTest$TestParameters.class

View file

@ -0,0 +1,3 @@
/home/tpellerin/Bureau/graphes/BE_Graphes/be-graphes-algos/src/test/java/org/insa/graphs/algorithm/utils/BinarySearchTreeTest.java
/home/tpellerin/Bureau/graphes/BE_Graphes/be-graphes-algos/src/test/java/org/insa/graphs/algorithm/utils/PriorityQueueTest.java
/home/tpellerin/Bureau/graphes/BE_Graphes/be-graphes-algos/src/test/java/org/insa/graphs/algorithm/utils/BinaryHeapTest.java

View file

@ -0,0 +1 @@
:maven-surefire-command::noop::maven-surefire-command::bye-ack:

View file

@ -0,0 +1,3 @@
# Created at 2026-04-16T08:58:56.905
Found Maven process ID 13300 for the fork 1.

View file

@ -0,0 +1 @@
:maven-surefire-command::noop::maven-surefire-command::bye-ack:

View file

@ -0,0 +1,3 @@
# Created at 2026-04-16T09:02:11.334
Found Maven process ID 13757 for the fork 1.

View file

@ -0,0 +1 @@
:maven-surefire-command::noop::maven-surefire-command::bye-ack:

View file

@ -0,0 +1,3 @@
# Created at 2026-04-16T09:04:43.369
Found Maven process ID 14283 for the fork 1.

View file

@ -0,0 +1,176 @@
<?xml version="1.0" encoding="UTF-8"?>
<testsuite xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="https://maven.apache.org/surefire/maven-surefire-plugin/xsd/surefire-test-report-3.0.xsd" version="3.0" name="org.insa.graphs.algorithm.utils.BinaryHeapTest" time="0.051" tests="78" errors="0" skipped="20" failures="0">
<properties>
<property name="java.specification.version" value="21"/>
<property name="sun.jnu.encoding" value="UTF-8"/>
<property name="java.class.path" value="/home/tpellerin/Bureau/graphes/BE_Graphes/be-graphes-algos/target/test-classes:/home/tpellerin/Bureau/graphes/BE_Graphes/be-graphes-algos/target/classes:/home/tpellerin/.m2/repository/org/insa/graphs/be-graphes-model/0.0.1-SNAPSHOT/be-graphes-model-0.0.1-SNAPSHOT.jar:/home/tpellerin/.m2/repository/junit/junit/4.12/junit-4.12.jar:/home/tpellerin/.m2/repository/org/hamcrest/hamcrest-core/1.3/hamcrest-core-1.3.jar:"/>
<property name="java.vm.vendor" value="Ubuntu"/>
<property name="sun.arch.data.model" value="64"/>
<property name="java.vendor.url" value="https://ubuntu.com/"/>
<property name="os.name" value="Linux"/>
<property name="java.vm.specification.version" value="21"/>
<property name="user.country" value="FR"/>
<property name="sun.java.launcher" value="SUN_STANDARD"/>
<property name="sun.boot.library.path" value="/usr/lib/jvm/java-21-openjdk-amd64/lib"/>
<property name="sun.java.command" value="/home/tpellerin/Bureau/graphes/BE_Graphes/be-graphes-algos/target/surefire/surefirebooter-20260416090515410_3.jar /home/tpellerin/Bureau/graphes/BE_Graphes/be-graphes-algos/target/surefire 2026-04-16T09-05-15_221-jvmRun1 surefire-20260416090515410_1tmp surefire_0-20260416090515410_2tmp"/>
<property name="jdk.debug" value="release"/>
<property name="test" value="org.insa.graphs.algorithm.utils.BinaryHeapTest"/>
<property name="surefire.test.class.path" value="/home/tpellerin/Bureau/graphes/BE_Graphes/be-graphes-algos/target/test-classes:/home/tpellerin/Bureau/graphes/BE_Graphes/be-graphes-algos/target/classes:/home/tpellerin/.m2/repository/org/insa/graphs/be-graphes-model/0.0.1-SNAPSHOT/be-graphes-model-0.0.1-SNAPSHOT.jar:/home/tpellerin/.m2/repository/junit/junit/4.12/junit-4.12.jar:/home/tpellerin/.m2/repository/org/hamcrest/hamcrest-core/1.3/hamcrest-core-1.3.jar:"/>
<property name="sun.cpu.endian" value="little"/>
<property name="user.home" value="/home/tpellerin"/>
<property name="user.language" value="fr"/>
<property name="java.specification.vendor" value="Oracle Corporation"/>
<property name="java.version.date" value="2026-01-20"/>
<property name="java.home" value="/usr/lib/jvm/java-21-openjdk-amd64"/>
<property name="file.separator" value="/"/>
<property name="basedir" value="/home/tpellerin/Bureau/graphes/BE_Graphes/be-graphes-algos"/>
<property name="java.vm.compressedOopsMode" value="Zero based"/>
<property name="line.separator" value="&#10;"/>
<property name="java.specification.name" value="Java Platform API Specification"/>
<property name="java.vm.specification.vendor" value="Oracle Corporation"/>
<property name="surefire.real.class.path" value="/home/tpellerin/Bureau/graphes/BE_Graphes/be-graphes-algos/target/surefire/surefirebooter-20260416090515410_3.jar"/>
<property name="sun.management.compiler" value="HotSpot 64-Bit Tiered Compilers"/>
<property name="java.runtime.version" value="21.0.10+7-Ubuntu-124.04"/>
<property name="user.name" value="tpellerin"/>
<property name="stdout.encoding" value="UTF-8"/>
<property name="path.separator" value=":"/>
<property name="os.version" value="6.17.0-20-generic"/>
<property name="java.runtime.name" value="OpenJDK Runtime Environment"/>
<property name="file.encoding" value="UTF-8"/>
<property name="java.vm.name" value="OpenJDK 64-Bit Server VM"/>
<property name="maven.ext.class.path" value="/home/tpellerin/.vscode/extensions/oracle.oracle-java-25.1.0/nbcode/java/maven-nblib/netbeans-eventspy.jar"/>
<property name="localRepository" value="/home/tpellerin/.m2/repository"/>
<property name="java.vendor.url.bug" value="https://bugs.launchpad.net/ubuntu/+source/openjdk-21"/>
<property name="java.io.tmpdir" value="/tmp"/>
<property name="java.version" value="21.0.10"/>
<property name="user.dir" value="/home/tpellerin/Bureau/graphes/BE_Graphes/be-graphes-algos"/>
<property name="os.arch" value="amd64"/>
<property name="java.vm.specification.name" value="Java Virtual Machine Specification"/>
<property name="native.encoding" value="UTF-8"/>
<property name="java.library.path" value="/usr/java/packages/lib:/usr/lib/x86_64-linux-gnu/jni:/lib/x86_64-linux-gnu:/usr/lib/x86_64-linux-gnu:/usr/lib/jni:/lib:/usr/lib"/>
<property name="java.vm.info" value="mixed mode, sharing"/>
<property name="stderr.encoding" value="UTF-8"/>
<property name="java.vendor" value="Ubuntu"/>
<property name="java.vm.version" value="21.0.10+7-Ubuntu-124.04"/>
<property name="sun.io.unicode.encoding" value="UnicodeLittle"/>
<property name="java.class.version" value="65.0"/>
</properties>
<testcase name="testDeleteThenRemove[0]" classname="org.insa.graphs.algorithm.utils.BinaryHeapTest" time="0.0">
<skipped message="got: &lt;false&gt;, expected: is &lt;true&gt;"/>
</testcase>
<testcase name="testRemoveNotFound[0]" classname="org.insa.graphs.algorithm.utils.BinaryHeapTest" time="0.0">
<skipped message="got: &lt;false&gt;, expected: is &lt;true&gt;"/>
</testcase>
<testcase name="testFindMin[0]" classname="org.insa.graphs.algorithm.utils.BinaryHeapTest" time="0.0">
<skipped message="got: &lt;false&gt;, expected: is &lt;true&gt;"/>
</testcase>
<testcase name="testSize[0]" classname="org.insa.graphs.algorithm.utils.BinaryHeapTest" time="0.0"/>
<testcase name="testRemoveEmpty[0]" classname="org.insa.graphs.algorithm.utils.BinaryHeapTest" time="0.0"/>
<testcase name="testRemoveTwice[0]" classname="org.insa.graphs.algorithm.utils.BinaryHeapTest" time="0.0">
<skipped message="got: &lt;false&gt;, expected: is &lt;true&gt;"/>
</testcase>
<testcase name="testEmptyFindMin[0]" classname="org.insa.graphs.algorithm.utils.BinaryHeapTest" time="0.0"/>
<testcase name="testEmptyDeleteMin[0]" classname="org.insa.graphs.algorithm.utils.BinaryHeapTest" time="0.0"/>
<testcase name="testDeleteMin[0]" classname="org.insa.graphs.algorithm.utils.BinaryHeapTest" time="0.0"/>
<testcase name="testInsert[0]" classname="org.insa.graphs.algorithm.utils.BinaryHeapTest" time="0.001"/>
<testcase name="testIsEmpty[0]" classname="org.insa.graphs.algorithm.utils.BinaryHeapTest" time="0.0"/>
<testcase name="testRemove[0]" classname="org.insa.graphs.algorithm.utils.BinaryHeapTest" time="0.0"/>
<testcase name="testRemoveThenAdd[0]" classname="org.insa.graphs.algorithm.utils.BinaryHeapTest" time="0.0">
<skipped message="got: &lt;false&gt;, expected: is &lt;true&gt;"/>
</testcase>
<testcase name="testDeleteThenRemove[1]" classname="org.insa.graphs.algorithm.utils.BinaryHeapTest" time="0.001"/>
<testcase name="testRemoveNotFound[1]" classname="org.insa.graphs.algorithm.utils.BinaryHeapTest" time="0.0"/>
<testcase name="testFindMin[1]" classname="org.insa.graphs.algorithm.utils.BinaryHeapTest" time="0.0"/>
<testcase name="testSize[1]" classname="org.insa.graphs.algorithm.utils.BinaryHeapTest" time="0.0"/>
<testcase name="testRemoveEmpty[1]" classname="org.insa.graphs.algorithm.utils.BinaryHeapTest" time="0.0">
<skipped message="got: &lt;false&gt;, expected: is &lt;true&gt;"/>
</testcase>
<testcase name="testRemoveTwice[1]" classname="org.insa.graphs.algorithm.utils.BinaryHeapTest" time="0.001"/>
<testcase name="testEmptyFindMin[1]" classname="org.insa.graphs.algorithm.utils.BinaryHeapTest" time="0.0">
<skipped message="got: &lt;false&gt;, expected: is &lt;true&gt;"/>
</testcase>
<testcase name="testEmptyDeleteMin[1]" classname="org.insa.graphs.algorithm.utils.BinaryHeapTest" time="0.0">
<skipped message="got: &lt;false&gt;, expected: is &lt;true&gt;"/>
</testcase>
<testcase name="testDeleteMin[1]" classname="org.insa.graphs.algorithm.utils.BinaryHeapTest" time="0.0"/>
<testcase name="testInsert[1]" classname="org.insa.graphs.algorithm.utils.BinaryHeapTest" time="0.0"/>
<testcase name="testIsEmpty[1]" classname="org.insa.graphs.algorithm.utils.BinaryHeapTest" time="0.0"/>
<testcase name="testRemove[1]" classname="org.insa.graphs.algorithm.utils.BinaryHeapTest" time="0.001"/>
<testcase name="testRemoveThenAdd[1]" classname="org.insa.graphs.algorithm.utils.BinaryHeapTest" time="0.0"/>
<testcase name="testDeleteThenRemove[2]" classname="org.insa.graphs.algorithm.utils.BinaryHeapTest" time="0.0"/>
<testcase name="testRemoveNotFound[2]" classname="org.insa.graphs.algorithm.utils.BinaryHeapTest" time="0.001"/>
<testcase name="testFindMin[2]" classname="org.insa.graphs.algorithm.utils.BinaryHeapTest" time="0.0"/>
<testcase name="testSize[2]" classname="org.insa.graphs.algorithm.utils.BinaryHeapTest" time="0.0"/>
<testcase name="testRemoveEmpty[2]" classname="org.insa.graphs.algorithm.utils.BinaryHeapTest" time="0.0">
<skipped message="got: &lt;false&gt;, expected: is &lt;true&gt;"/>
</testcase>
<testcase name="testRemoveTwice[2]" classname="org.insa.graphs.algorithm.utils.BinaryHeapTest" time="0.0"/>
<testcase name="testEmptyFindMin[2]" classname="org.insa.graphs.algorithm.utils.BinaryHeapTest" time="0.0">
<skipped message="got: &lt;false&gt;, expected: is &lt;true&gt;"/>
</testcase>
<testcase name="testEmptyDeleteMin[2]" classname="org.insa.graphs.algorithm.utils.BinaryHeapTest" time="0.0">
<skipped message="got: &lt;false&gt;, expected: is &lt;true&gt;"/>
</testcase>
<testcase name="testDeleteMin[2]" classname="org.insa.graphs.algorithm.utils.BinaryHeapTest" time="0.0"/>
<testcase name="testInsert[2]" classname="org.insa.graphs.algorithm.utils.BinaryHeapTest" time="0.0"/>
<testcase name="testIsEmpty[2]" classname="org.insa.graphs.algorithm.utils.BinaryHeapTest" time="0.0"/>
<testcase name="testRemove[2]" classname="org.insa.graphs.algorithm.utils.BinaryHeapTest" time="0.0"/>
<testcase name="testRemoveThenAdd[2]" classname="org.insa.graphs.algorithm.utils.BinaryHeapTest" time="0.0"/>
<testcase name="testDeleteThenRemove[3]" classname="org.insa.graphs.algorithm.utils.BinaryHeapTest" time="0.0"/>
<testcase name="testRemoveNotFound[3]" classname="org.insa.graphs.algorithm.utils.BinaryHeapTest" time="0.0"/>
<testcase name="testFindMin[3]" classname="org.insa.graphs.algorithm.utils.BinaryHeapTest" time="0.0"/>
<testcase name="testSize[3]" classname="org.insa.graphs.algorithm.utils.BinaryHeapTest" time="0.0"/>
<testcase name="testRemoveEmpty[3]" classname="org.insa.graphs.algorithm.utils.BinaryHeapTest" time="0.0">
<skipped message="got: &lt;false&gt;, expected: is &lt;true&gt;"/>
</testcase>
<testcase name="testRemoveTwice[3]" classname="org.insa.graphs.algorithm.utils.BinaryHeapTest" time="0.0"/>
<testcase name="testEmptyFindMin[3]" classname="org.insa.graphs.algorithm.utils.BinaryHeapTest" time="0.0">
<skipped message="got: &lt;false&gt;, expected: is &lt;true&gt;"/>
</testcase>
<testcase name="testEmptyDeleteMin[3]" classname="org.insa.graphs.algorithm.utils.BinaryHeapTest" time="0.0">
<skipped message="got: &lt;false&gt;, expected: is &lt;true&gt;"/>
</testcase>
<testcase name="testDeleteMin[3]" classname="org.insa.graphs.algorithm.utils.BinaryHeapTest" time="0.0"/>
<testcase name="testInsert[3]" classname="org.insa.graphs.algorithm.utils.BinaryHeapTest" time="0.0"/>
<testcase name="testIsEmpty[3]" classname="org.insa.graphs.algorithm.utils.BinaryHeapTest" time="0.0"/>
<testcase name="testRemove[3]" classname="org.insa.graphs.algorithm.utils.BinaryHeapTest" time="0.0"/>
<testcase name="testRemoveThenAdd[3]" classname="org.insa.graphs.algorithm.utils.BinaryHeapTest" time="0.0"/>
<testcase name="testDeleteThenRemove[4]" classname="org.insa.graphs.algorithm.utils.BinaryHeapTest" time="0.0"/>
<testcase name="testRemoveNotFound[4]" classname="org.insa.graphs.algorithm.utils.BinaryHeapTest" time="0.0"/>
<testcase name="testFindMin[4]" classname="org.insa.graphs.algorithm.utils.BinaryHeapTest" time="0.0"/>
<testcase name="testSize[4]" classname="org.insa.graphs.algorithm.utils.BinaryHeapTest" time="0.0"/>
<testcase name="testRemoveEmpty[4]" classname="org.insa.graphs.algorithm.utils.BinaryHeapTest" time="0.0">
<skipped message="got: &lt;false&gt;, expected: is &lt;true&gt;"/>
</testcase>
<testcase name="testRemoveTwice[4]" classname="org.insa.graphs.algorithm.utils.BinaryHeapTest" time="0.0"/>
<testcase name="testEmptyFindMin[4]" classname="org.insa.graphs.algorithm.utils.BinaryHeapTest" time="0.0">
<skipped message="got: &lt;false&gt;, expected: is &lt;true&gt;"/>
</testcase>
<testcase name="testEmptyDeleteMin[4]" classname="org.insa.graphs.algorithm.utils.BinaryHeapTest" time="0.0">
<skipped message="got: &lt;false&gt;, expected: is &lt;true&gt;"/>
</testcase>
<testcase name="testDeleteMin[4]" classname="org.insa.graphs.algorithm.utils.BinaryHeapTest" time="0.0"/>
<testcase name="testInsert[4]" classname="org.insa.graphs.algorithm.utils.BinaryHeapTest" time="0.001"/>
<testcase name="testIsEmpty[4]" classname="org.insa.graphs.algorithm.utils.BinaryHeapTest" time="0.0"/>
<testcase name="testRemove[4]" classname="org.insa.graphs.algorithm.utils.BinaryHeapTest" time="0.0"/>
<testcase name="testRemoveThenAdd[4]" classname="org.insa.graphs.algorithm.utils.BinaryHeapTest" time="0.0"/>
<testcase name="testDeleteThenRemove[5]" classname="org.insa.graphs.algorithm.utils.BinaryHeapTest" time="0.0"/>
<testcase name="testRemoveNotFound[5]" classname="org.insa.graphs.algorithm.utils.BinaryHeapTest" time="0.0"/>
<testcase name="testFindMin[5]" classname="org.insa.graphs.algorithm.utils.BinaryHeapTest" time="0.0"/>
<testcase name="testSize[5]" classname="org.insa.graphs.algorithm.utils.BinaryHeapTest" time="0.0"/>
<testcase name="testRemoveEmpty[5]" classname="org.insa.graphs.algorithm.utils.BinaryHeapTest" time="0.0">
<skipped message="got: &lt;false&gt;, expected: is &lt;true&gt;"/>
</testcase>
<testcase name="testRemoveTwice[5]" classname="org.insa.graphs.algorithm.utils.BinaryHeapTest" time="0.0"/>
<testcase name="testEmptyFindMin[5]" classname="org.insa.graphs.algorithm.utils.BinaryHeapTest" time="0.0">
<skipped message="got: &lt;false&gt;, expected: is &lt;true&gt;"/>
</testcase>
<testcase name="testEmptyDeleteMin[5]" classname="org.insa.graphs.algorithm.utils.BinaryHeapTest" time="0.0">
<skipped message="got: &lt;false&gt;, expected: is &lt;true&gt;"/>
</testcase>
<testcase name="testDeleteMin[5]" classname="org.insa.graphs.algorithm.utils.BinaryHeapTest" time="0.0"/>
<testcase name="testInsert[5]" classname="org.insa.graphs.algorithm.utils.BinaryHeapTest" time="0.0"/>
<testcase name="testIsEmpty[5]" classname="org.insa.graphs.algorithm.utils.BinaryHeapTest" time="0.0"/>
<testcase name="testRemove[5]" classname="org.insa.graphs.algorithm.utils.BinaryHeapTest" time="0.0"/>
<testcase name="testRemoveThenAdd[5]" classname="org.insa.graphs.algorithm.utils.BinaryHeapTest" time="0.0"/>
</testsuite>

View file

@ -0,0 +1,176 @@
<?xml version="1.0" encoding="UTF-8"?>
<testsuite xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="https://maven.apache.org/surefire/maven-surefire-plugin/xsd/surefire-test-report-3.0.xsd" version="3.0" name="org.insa.graphs.algorithm.utils.BinarySearchTreeTest" time="0.046" tests="78" errors="0" skipped="20" failures="0">
<properties>
<property name="java.specification.version" value="21"/>
<property name="sun.jnu.encoding" value="UTF-8"/>
<property name="java.class.path" value="/home/tpellerin/Bureau/graphes/BE_Graphes/be-graphes-algos/target/test-classes:/home/tpellerin/Bureau/graphes/BE_Graphes/be-graphes-algos/target/classes:/home/tpellerin/.m2/repository/org/insa/graphs/be-graphes-model/0.0.1-SNAPSHOT/be-graphes-model-0.0.1-SNAPSHOT.jar:/home/tpellerin/.m2/repository/junit/junit/4.12/junit-4.12.jar:/home/tpellerin/.m2/repository/org/hamcrest/hamcrest-core/1.3/hamcrest-core-1.3.jar:"/>
<property name="java.vm.vendor" value="Ubuntu"/>
<property name="sun.arch.data.model" value="64"/>
<property name="java.vendor.url" value="https://ubuntu.com/"/>
<property name="os.name" value="Linux"/>
<property name="java.vm.specification.version" value="21"/>
<property name="user.country" value="FR"/>
<property name="sun.java.launcher" value="SUN_STANDARD"/>
<property name="sun.boot.library.path" value="/usr/lib/jvm/java-21-openjdk-amd64/lib"/>
<property name="sun.java.command" value="/home/tpellerin/Bureau/graphes/BE_Graphes/be-graphes-algos/target/surefire/surefirebooter-20260416090649811_3.jar /home/tpellerin/Bureau/graphes/BE_Graphes/be-graphes-algos/target/surefire 2026-04-16T09-06-49_626-jvmRun1 surefire-20260416090649811_1tmp surefire_0-20260416090649811_2tmp"/>
<property name="jdk.debug" value="release"/>
<property name="test" value="org.insa.graphs.algorithm.utils.BinarySearchTreeTest"/>
<property name="surefire.test.class.path" value="/home/tpellerin/Bureau/graphes/BE_Graphes/be-graphes-algos/target/test-classes:/home/tpellerin/Bureau/graphes/BE_Graphes/be-graphes-algos/target/classes:/home/tpellerin/.m2/repository/org/insa/graphs/be-graphes-model/0.0.1-SNAPSHOT/be-graphes-model-0.0.1-SNAPSHOT.jar:/home/tpellerin/.m2/repository/junit/junit/4.12/junit-4.12.jar:/home/tpellerin/.m2/repository/org/hamcrest/hamcrest-core/1.3/hamcrest-core-1.3.jar:"/>
<property name="sun.cpu.endian" value="little"/>
<property name="user.home" value="/home/tpellerin"/>
<property name="user.language" value="fr"/>
<property name="java.specification.vendor" value="Oracle Corporation"/>
<property name="java.version.date" value="2026-01-20"/>
<property name="java.home" value="/usr/lib/jvm/java-21-openjdk-amd64"/>
<property name="file.separator" value="/"/>
<property name="basedir" value="/home/tpellerin/Bureau/graphes/BE_Graphes/be-graphes-algos"/>
<property name="java.vm.compressedOopsMode" value="Zero based"/>
<property name="line.separator" value="&#10;"/>
<property name="java.specification.name" value="Java Platform API Specification"/>
<property name="java.vm.specification.vendor" value="Oracle Corporation"/>
<property name="surefire.real.class.path" value="/home/tpellerin/Bureau/graphes/BE_Graphes/be-graphes-algos/target/surefire/surefirebooter-20260416090649811_3.jar"/>
<property name="sun.management.compiler" value="HotSpot 64-Bit Tiered Compilers"/>
<property name="java.runtime.version" value="21.0.10+7-Ubuntu-124.04"/>
<property name="user.name" value="tpellerin"/>
<property name="stdout.encoding" value="UTF-8"/>
<property name="path.separator" value=":"/>
<property name="os.version" value="6.17.0-20-generic"/>
<property name="java.runtime.name" value="OpenJDK Runtime Environment"/>
<property name="file.encoding" value="UTF-8"/>
<property name="java.vm.name" value="OpenJDK 64-Bit Server VM"/>
<property name="maven.ext.class.path" value="/home/tpellerin/.vscode/extensions/oracle.oracle-java-25.1.0/nbcode/java/maven-nblib/netbeans-eventspy.jar"/>
<property name="localRepository" value="/home/tpellerin/.m2/repository"/>
<property name="java.vendor.url.bug" value="https://bugs.launchpad.net/ubuntu/+source/openjdk-21"/>
<property name="java.io.tmpdir" value="/tmp"/>
<property name="java.version" value="21.0.10"/>
<property name="user.dir" value="/home/tpellerin/Bureau/graphes/BE_Graphes/be-graphes-algos"/>
<property name="os.arch" value="amd64"/>
<property name="java.vm.specification.name" value="Java Virtual Machine Specification"/>
<property name="native.encoding" value="UTF-8"/>
<property name="java.library.path" value="/usr/java/packages/lib:/usr/lib/x86_64-linux-gnu/jni:/lib/x86_64-linux-gnu:/usr/lib/x86_64-linux-gnu:/usr/lib/jni:/lib:/usr/lib"/>
<property name="java.vm.info" value="mixed mode, sharing"/>
<property name="stderr.encoding" value="UTF-8"/>
<property name="java.vendor" value="Ubuntu"/>
<property name="java.vm.version" value="21.0.10+7-Ubuntu-124.04"/>
<property name="sun.io.unicode.encoding" value="UnicodeLittle"/>
<property name="java.class.version" value="65.0"/>
</properties>
<testcase name="testDeleteThenRemove[0]" classname="org.insa.graphs.algorithm.utils.BinarySearchTreeTest" time="0.0">
<skipped message="got: &lt;false&gt;, expected: is &lt;true&gt;"/>
</testcase>
<testcase name="testRemoveNotFound[0]" classname="org.insa.graphs.algorithm.utils.BinarySearchTreeTest" time="0.0">
<skipped message="got: &lt;false&gt;, expected: is &lt;true&gt;"/>
</testcase>
<testcase name="testFindMin[0]" classname="org.insa.graphs.algorithm.utils.BinarySearchTreeTest" time="0.0">
<skipped message="got: &lt;false&gt;, expected: is &lt;true&gt;"/>
</testcase>
<testcase name="testSize[0]" classname="org.insa.graphs.algorithm.utils.BinarySearchTreeTest" time="0.0"/>
<testcase name="testRemoveEmpty[0]" classname="org.insa.graphs.algorithm.utils.BinarySearchTreeTest" time="0.0"/>
<testcase name="testRemoveTwice[0]" classname="org.insa.graphs.algorithm.utils.BinarySearchTreeTest" time="0.0">
<skipped message="got: &lt;false&gt;, expected: is &lt;true&gt;"/>
</testcase>
<testcase name="testEmptyFindMin[0]" classname="org.insa.graphs.algorithm.utils.BinarySearchTreeTest" time="0.0"/>
<testcase name="testEmptyDeleteMin[0]" classname="org.insa.graphs.algorithm.utils.BinarySearchTreeTest" time="0.0"/>
<testcase name="testDeleteMin[0]" classname="org.insa.graphs.algorithm.utils.BinarySearchTreeTest" time="0.001"/>
<testcase name="testInsert[0]" classname="org.insa.graphs.algorithm.utils.BinarySearchTreeTest" time="0.0"/>
<testcase name="testIsEmpty[0]" classname="org.insa.graphs.algorithm.utils.BinarySearchTreeTest" time="0.0"/>
<testcase name="testRemove[0]" classname="org.insa.graphs.algorithm.utils.BinarySearchTreeTest" time="0.0"/>
<testcase name="testRemoveThenAdd[0]" classname="org.insa.graphs.algorithm.utils.BinarySearchTreeTest" time="0.0">
<skipped message="got: &lt;false&gt;, expected: is &lt;true&gt;"/>
</testcase>
<testcase name="testDeleteThenRemove[1]" classname="org.insa.graphs.algorithm.utils.BinarySearchTreeTest" time="0.001"/>
<testcase name="testRemoveNotFound[1]" classname="org.insa.graphs.algorithm.utils.BinarySearchTreeTest" time="0.0"/>
<testcase name="testFindMin[1]" classname="org.insa.graphs.algorithm.utils.BinarySearchTreeTest" time="0.0"/>
<testcase name="testSize[1]" classname="org.insa.graphs.algorithm.utils.BinarySearchTreeTest" time="0.0"/>
<testcase name="testRemoveEmpty[1]" classname="org.insa.graphs.algorithm.utils.BinarySearchTreeTest" time="0.0">
<skipped message="got: &lt;false&gt;, expected: is &lt;true&gt;"/>
</testcase>
<testcase name="testRemoveTwice[1]" classname="org.insa.graphs.algorithm.utils.BinarySearchTreeTest" time="0.001"/>
<testcase name="testEmptyFindMin[1]" classname="org.insa.graphs.algorithm.utils.BinarySearchTreeTest" time="0.0">
<skipped message="got: &lt;false&gt;, expected: is &lt;true&gt;"/>
</testcase>
<testcase name="testEmptyDeleteMin[1]" classname="org.insa.graphs.algorithm.utils.BinarySearchTreeTest" time="0.0">
<skipped message="got: &lt;false&gt;, expected: is &lt;true&gt;"/>
</testcase>
<testcase name="testDeleteMin[1]" classname="org.insa.graphs.algorithm.utils.BinarySearchTreeTest" time="0.0"/>
<testcase name="testInsert[1]" classname="org.insa.graphs.algorithm.utils.BinarySearchTreeTest" time="0.0"/>
<testcase name="testIsEmpty[1]" classname="org.insa.graphs.algorithm.utils.BinarySearchTreeTest" time="0.0"/>
<testcase name="testRemove[1]" classname="org.insa.graphs.algorithm.utils.BinarySearchTreeTest" time="0.002"/>
<testcase name="testRemoveThenAdd[1]" classname="org.insa.graphs.algorithm.utils.BinarySearchTreeTest" time="0.0"/>
<testcase name="testDeleteThenRemove[2]" classname="org.insa.graphs.algorithm.utils.BinarySearchTreeTest" time="0.0"/>
<testcase name="testRemoveNotFound[2]" classname="org.insa.graphs.algorithm.utils.BinarySearchTreeTest" time="0.0"/>
<testcase name="testFindMin[2]" classname="org.insa.graphs.algorithm.utils.BinarySearchTreeTest" time="0.0"/>
<testcase name="testSize[2]" classname="org.insa.graphs.algorithm.utils.BinarySearchTreeTest" time="0.0"/>
<testcase name="testRemoveEmpty[2]" classname="org.insa.graphs.algorithm.utils.BinarySearchTreeTest" time="0.0">
<skipped message="got: &lt;false&gt;, expected: is &lt;true&gt;"/>
</testcase>
<testcase name="testRemoveTwice[2]" classname="org.insa.graphs.algorithm.utils.BinarySearchTreeTest" time="0.0"/>
<testcase name="testEmptyFindMin[2]" classname="org.insa.graphs.algorithm.utils.BinarySearchTreeTest" time="0.0">
<skipped message="got: &lt;false&gt;, expected: is &lt;true&gt;"/>
</testcase>
<testcase name="testEmptyDeleteMin[2]" classname="org.insa.graphs.algorithm.utils.BinarySearchTreeTest" time="0.0">
<skipped message="got: &lt;false&gt;, expected: is &lt;true&gt;"/>
</testcase>
<testcase name="testDeleteMin[2]" classname="org.insa.graphs.algorithm.utils.BinarySearchTreeTest" time="0.0"/>
<testcase name="testInsert[2]" classname="org.insa.graphs.algorithm.utils.BinarySearchTreeTest" time="0.0"/>
<testcase name="testIsEmpty[2]" classname="org.insa.graphs.algorithm.utils.BinarySearchTreeTest" time="0.0"/>
<testcase name="testRemove[2]" classname="org.insa.graphs.algorithm.utils.BinarySearchTreeTest" time="0.0"/>
<testcase name="testRemoveThenAdd[2]" classname="org.insa.graphs.algorithm.utils.BinarySearchTreeTest" time="0.0"/>
<testcase name="testDeleteThenRemove[3]" classname="org.insa.graphs.algorithm.utils.BinarySearchTreeTest" time="0.0"/>
<testcase name="testRemoveNotFound[3]" classname="org.insa.graphs.algorithm.utils.BinarySearchTreeTest" time="0.0"/>
<testcase name="testFindMin[3]" classname="org.insa.graphs.algorithm.utils.BinarySearchTreeTest" time="0.0"/>
<testcase name="testSize[3]" classname="org.insa.graphs.algorithm.utils.BinarySearchTreeTest" time="0.0"/>
<testcase name="testRemoveEmpty[3]" classname="org.insa.graphs.algorithm.utils.BinarySearchTreeTest" time="0.0">
<skipped message="got: &lt;false&gt;, expected: is &lt;true&gt;"/>
</testcase>
<testcase name="testRemoveTwice[3]" classname="org.insa.graphs.algorithm.utils.BinarySearchTreeTest" time="0.001"/>
<testcase name="testEmptyFindMin[3]" classname="org.insa.graphs.algorithm.utils.BinarySearchTreeTest" time="0.0">
<skipped message="got: &lt;false&gt;, expected: is &lt;true&gt;"/>
</testcase>
<testcase name="testEmptyDeleteMin[3]" classname="org.insa.graphs.algorithm.utils.BinarySearchTreeTest" time="0.0">
<skipped message="got: &lt;false&gt;, expected: is &lt;true&gt;"/>
</testcase>
<testcase name="testDeleteMin[3]" classname="org.insa.graphs.algorithm.utils.BinarySearchTreeTest" time="0.0"/>
<testcase name="testInsert[3]" classname="org.insa.graphs.algorithm.utils.BinarySearchTreeTest" time="0.0"/>
<testcase name="testIsEmpty[3]" classname="org.insa.graphs.algorithm.utils.BinarySearchTreeTest" time="0.0"/>
<testcase name="testRemove[3]" classname="org.insa.graphs.algorithm.utils.BinarySearchTreeTest" time="0.0"/>
<testcase name="testRemoveThenAdd[3]" classname="org.insa.graphs.algorithm.utils.BinarySearchTreeTest" time="0.0"/>
<testcase name="testDeleteThenRemove[4]" classname="org.insa.graphs.algorithm.utils.BinarySearchTreeTest" time="0.0"/>
<testcase name="testRemoveNotFound[4]" classname="org.insa.graphs.algorithm.utils.BinarySearchTreeTest" time="0.0"/>
<testcase name="testFindMin[4]" classname="org.insa.graphs.algorithm.utils.BinarySearchTreeTest" time="0.0"/>
<testcase name="testSize[4]" classname="org.insa.graphs.algorithm.utils.BinarySearchTreeTest" time="0.0"/>
<testcase name="testRemoveEmpty[4]" classname="org.insa.graphs.algorithm.utils.BinarySearchTreeTest" time="0.0">
<skipped message="got: &lt;false&gt;, expected: is &lt;true&gt;"/>
</testcase>
<testcase name="testRemoveTwice[4]" classname="org.insa.graphs.algorithm.utils.BinarySearchTreeTest" time="0.0"/>
<testcase name="testEmptyFindMin[4]" classname="org.insa.graphs.algorithm.utils.BinarySearchTreeTest" time="0.0">
<skipped message="got: &lt;false&gt;, expected: is &lt;true&gt;"/>
</testcase>
<testcase name="testEmptyDeleteMin[4]" classname="org.insa.graphs.algorithm.utils.BinarySearchTreeTest" time="0.0">
<skipped message="got: &lt;false&gt;, expected: is &lt;true&gt;"/>
</testcase>
<testcase name="testDeleteMin[4]" classname="org.insa.graphs.algorithm.utils.BinarySearchTreeTest" time="0.0"/>
<testcase name="testInsert[4]" classname="org.insa.graphs.algorithm.utils.BinarySearchTreeTest" time="0.0"/>
<testcase name="testIsEmpty[4]" classname="org.insa.graphs.algorithm.utils.BinarySearchTreeTest" time="0.0"/>
<testcase name="testRemove[4]" classname="org.insa.graphs.algorithm.utils.BinarySearchTreeTest" time="0.0"/>
<testcase name="testRemoveThenAdd[4]" classname="org.insa.graphs.algorithm.utils.BinarySearchTreeTest" time="0.0"/>
<testcase name="testDeleteThenRemove[5]" classname="org.insa.graphs.algorithm.utils.BinarySearchTreeTest" time="0.0"/>
<testcase name="testRemoveNotFound[5]" classname="org.insa.graphs.algorithm.utils.BinarySearchTreeTest" time="0.0"/>
<testcase name="testFindMin[5]" classname="org.insa.graphs.algorithm.utils.BinarySearchTreeTest" time="0.0"/>
<testcase name="testSize[5]" classname="org.insa.graphs.algorithm.utils.BinarySearchTreeTest" time="0.0"/>
<testcase name="testRemoveEmpty[5]" classname="org.insa.graphs.algorithm.utils.BinarySearchTreeTest" time="0.0">
<skipped message="got: &lt;false&gt;, expected: is &lt;true&gt;"/>
</testcase>
<testcase name="testRemoveTwice[5]" classname="org.insa.graphs.algorithm.utils.BinarySearchTreeTest" time="0.0"/>
<testcase name="testEmptyFindMin[5]" classname="org.insa.graphs.algorithm.utils.BinarySearchTreeTest" time="0.0">
<skipped message="got: &lt;false&gt;, expected: is &lt;true&gt;"/>
</testcase>
<testcase name="testEmptyDeleteMin[5]" classname="org.insa.graphs.algorithm.utils.BinarySearchTreeTest" time="0.0">
<skipped message="got: &lt;false&gt;, expected: is &lt;true&gt;"/>
</testcase>
<testcase name="testDeleteMin[5]" classname="org.insa.graphs.algorithm.utils.BinarySearchTreeTest" time="0.0"/>
<testcase name="testInsert[5]" classname="org.insa.graphs.algorithm.utils.BinarySearchTreeTest" time="0.0"/>
<testcase name="testIsEmpty[5]" classname="org.insa.graphs.algorithm.utils.BinarySearchTreeTest" time="0.0"/>
<testcase name="testRemove[5]" classname="org.insa.graphs.algorithm.utils.BinarySearchTreeTest" time="0.0"/>
<testcase name="testRemoveThenAdd[5]" classname="org.insa.graphs.algorithm.utils.BinarySearchTreeTest" time="0.001"/>
</testsuite>

View file

@ -0,0 +1,4 @@
-------------------------------------------------------------------------------
Test set: org.insa.graphs.algorithm.utils.BinaryHeapTest
-------------------------------------------------------------------------------
Tests run: 78, Failures: 0, Errors: 0, Skipped: 20, Time elapsed: 0.051 s -- in org.insa.graphs.algorithm.utils.BinaryHeapTest

View file

@ -0,0 +1,4 @@
-------------------------------------------------------------------------------
Test set: org.insa.graphs.algorithm.utils.BinarySearchTreeTest
-------------------------------------------------------------------------------
Tests run: 78, Failures: 0, Errors: 0, Skipped: 20, Time elapsed: 0.046 s -- in org.insa.graphs.algorithm.utils.BinarySearchTreeTest