diff --git a/src/tp03/Task.java b/src/tp03/Task.java index c8f2c47fcc1388f087b9ce554748e8054e08ced2..47e196c484dec7a5c91c5ccb5d622ed06f10029b 100644 --- a/src/tp03/Task.java +++ b/src/tp03/Task.java @@ -51,8 +51,21 @@ public class Task { for (int i = 0; i < TaskStatus.values().length; i++) { if (TaskStatus.values()[i].equals(this.status)) { // Use modulo to avoid errors - this.status = TaskStatus.values()[i+1 % TaskStatus.values().length]; + this.status = TaskStatus.values()[i+1 % TaskStatus.values().length - 1]; } } } + + public boolean isLate() { + LocalDate now = LocalDate.now(); + + if (this.deadline.compareTo(now) < 0) { + return true; + } + return false; + } + + public void delay(int nbDays) { + this.deadline = this.deadline.plusDays(nbDays); + } } \ No newline at end of file diff --git a/src/tp03/UseLocalDate.java b/src/tp03/UseLocalDate.java index e8760f2f8d156850f0238e5a91d9795cd538eab3..e3ff6f4d96fe8898a85f52d36165d4d54739ca3a 100644 --- a/src/tp03/UseLocalDate.java +++ b/src/tp03/UseLocalDate.java @@ -1,10 +1,10 @@ +package tp03.ex01; + import java.time.LocalDate; import java.time.chrono.ChronoLocalDate; import java.util.Random; import java.time.Period; -package tp03.ex01; - public class UseLocalDate { public static boolean inArray(int[] array, int value) { diff --git a/src/tp03/UseTask.java b/src/tp03/UseTask.java index 98d8ef39582b2d95afe6765911b0b8da27475f0f..d56784d8a78babfe7156857228b2fd6432b495e5 100644 --- a/src/tp03/UseTask.java +++ b/src/tp03/UseTask.java @@ -2,8 +2,6 @@ package tp03.ex02; import java.time.LocalDate; -import tp03.ex02.TaskStatus; - public class UseTask { public static void main (String[] args) { @@ -19,7 +17,20 @@ public class UseTask { System.out.println(t1); System.out.println(t2); - + // Test of isLate() + Task t3 = new Task("Finir exo3", LocalDate.of(2025, 02, 01), LocalDate.of(2025, 02, 10), 5); + Task t4 = new Task("Finir exo4", LocalDate.of(2025, 02, 01), LocalDate.of(2025, 02, 10), 5); + + System.out.println(t3 + ", " + t3.isLate()); + System.out.println(t4 + ", " + t4.isLate()); + + t3.changeStatus(TaskStatus.FINISHED); + t4.delay(30); + + System.out.println(t3 + ", " + t3.isLate()); + System.out.println(t4 + ", " + t4.isLate()); + + } } \ No newline at end of file