diff --git a/.settings/org.eclipse.core.resources.prefs b/.settings/org.eclipse.core.resources.prefs index e9441bb123ec3e1ab029c7eac896bc45681d9a71..f9fe34593fcd3624a964478aeb438b0d44fe7237 100644 --- a/.settings/org.eclipse.core.resources.prefs +++ b/.settings/org.eclipse.core.resources.prefs @@ -1,3 +1,4 @@ eclipse.preferences.version=1 encoding//src/main/java=UTF-8 +encoding//src/test/java=UTF-8 encoding/<project>=UTF-8 diff --git a/src/main/java/org/petriNet/Arc_videur.java b/src/main/java/org/petriNet/Arc_videur.java index e0193bfc092605d9d7fdd507a2fe890a7dd06fd4..3d5306056a2350c344b22833282c15507e9e4083 100644 --- a/src/main/java/org/petriNet/Arc_videur.java +++ b/src/main/java/org/petriNet/Arc_videur.java @@ -16,7 +16,7 @@ public class Arc_videur extends Arc_ENTRANT { @Override public boolean verifier_tirable() { - if (this.place.get_nombre_jetons() > 0) { + if ( this.getPlace().get_nombre_jetons() > 0) { return true; } return false; @@ -26,7 +26,7 @@ public class Arc_videur extends Arc_ENTRANT { public void valider() { // On retire le nombre de jetons du poids de l'arc // prendre en cond la place choisie - this.place.enlever_jeton(this.place.get_nombre_jetons()); + this.getPlace().enlever_jeton(this.getPlace().get_nombre_jetons()); } diff --git a/src/main/java/org/petriNet/Arc_zero.java b/src/main/java/org/petriNet/Arc_zero.java index 0bc6433573e9a921d26367ed841ff88967563581..3fd600e82f5423e9a340539d3853fefa055d840e 100644 --- a/src/main/java/org/petriNet/Arc_zero.java +++ b/src/main/java/org/petriNet/Arc_zero.java @@ -17,6 +17,6 @@ package org.petriNet; @Override public boolean verifier_tirable() { - return this.place.get_nombre_jetons() == 0; + return this.getPlace().get_nombre_jetons() == 0; } } diff --git a/src/main/java/org/petriNet/Place.java b/src/main/java/org/petriNet/Place.java index af7b421c4f166247ae316f7da6954418e0bbdee6..68d990b888cc5129ea44e79a734ca7e61f1493b7 100644 --- a/src/main/java/org/petriNet/Place.java +++ b/src/main/java/org/petriNet/Place.java @@ -27,7 +27,8 @@ public class Place { public void enlever_jeton(int jetons) { // verify that the number of tokens is not negative if (jetons >= 0) { - this.nombre_jeton -= jetons; + this.nombre_jeton = Math.max(0, this.nombre_jeton - jetons); + } else { System.out.println("The number of tokens cannot be negative."); } diff --git a/src/main/java/org/petriNet/ReseauPetri.java b/src/main/java/org/petriNet/ReseauPetri.java index 4a15acfaa253b349a7a4cca5f3ce20c9a1ef4a8e..5da57000402b648c9ac49400607f3d8103a9a61c 100644 --- a/src/main/java/org/petriNet/ReseauPetri.java +++ b/src/main/java/org/petriNet/ReseauPetri.java @@ -111,7 +111,7 @@ public class ReseauPetri implements PetriNetService { public void supprimerPlace(Place place) { this.places.remove(place); // remove all arcs linked to the place - this.arcs.removeIf(arc -> arc.getPlace().getId() == place.getId()); + this.arcs.removeIf(arc -> arc.getPlace().getId() == place.getId()); } @Override @@ -209,8 +209,8 @@ public class ReseauPetri implements PetriNetService { System.out.println(this.arcs.size() + " arcs"); System.out.println("Liste des places :"); - // On parcourt la liste des arcs pour afficher les places - // une liste pur les arcs entrants et une liste pour les arcs sortants + // On parcourt la liste des arcs pour afficher les places + // une liste pur les arcs entrants et une liste pour les arcs sortants for (Place place : this.places) { List<Arc> arcs_ENTRANTS = new ArrayList<>(); List<Arc> arcs_SORTANTS = new ArrayList<>(); diff --git a/src/test/java/org/petriNet/ReseauPetriTest.java b/src/test/java/org/petriNet/ReseauPetriTest.java index ed128786116448f19db4141a340a1a73a2bed3f6..1f4c30cf9d5a8e1f42fdf09c24cbfb438f2b3bb2 100644 --- a/src/test/java/org/petriNet/ReseauPetriTest.java +++ b/src/test/java/org/petriNet/ReseauPetriTest.java @@ -605,4 +605,13 @@ public class ReseauPetriTest { assertEquals(0, Destruction.getArcs().size(), "SA1"); } + + + + + + + } + +