From 208e79551cc3f6181221b1ed51fa77863c4d0721 Mon Sep 17 00:00:00 2001
From: Alexandre
 <alexandre.maintier.etu@meleze07.iut-infobio.priv.univ-lille1.fr>
Date: Fri, 4 Apr 2025 14:27:53 +0200
Subject: [PATCH] =?UTF-8?q?ajout=20des=20fichiers=20de=20qualit=C3=A9=20de?=
 =?UTF-8?q?v?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

---
 lib/qu-tp01.jar                         | Bin 0 -> 9558 bytes
 lib/res02-tpQU.jar                      | Bin 0 -> 13355 bytes
 src/tpQU/tp01/Main.java                 |  11 +
 src/tpQU/tp01/controlepkg1/A.java       |  13 +
 src/tpQU/tp01/controlepkg2/B.java       |   9 +
 src/tpQU/tp01/controlepkg2/sspkg/C.java |  19 ++
 src/tpQU/tp01/controlpkg1/qu-tp01.jar   | Bin 0 -> 9558 bytes
 src/tpQU/tp01/fifth/B.java              |  12 +
 src/tpQU/tp01/first/A.java              |  22 ++
 src/tpQU/tp01/fourth/A.java             |  19 ++
 src/tpQU/tp01/second/A.java             |  18 ++
 src/tpQU/tp01/second/B.java             |   8 +
 src/tpQU/tp01/third/A.java              |   7 +
 src/tpQU/tp02/ToDoList.html             | 360 ++++++++++++++++++++++++
 src/tpQU/tp02/WarriorCard.java          |  65 +++++
 test/tpQU/tp02/AgendaTest.java          |  56 ++++
 test/tpQU/tp02/EventTest.java           |  96 +++++++
 test/tpQU/tp02/WarriorCardTest.java     |  47 ++++
 18 files changed, 762 insertions(+)
 create mode 100644 lib/qu-tp01.jar
 create mode 100644 lib/res02-tpQU.jar
 create mode 100644 src/tpQU/tp01/Main.java
 create mode 100644 src/tpQU/tp01/controlepkg1/A.java
 create mode 100644 src/tpQU/tp01/controlepkg2/B.java
 create mode 100644 src/tpQU/tp01/controlepkg2/sspkg/C.java
 create mode 100644 src/tpQU/tp01/controlpkg1/qu-tp01.jar
 create mode 100644 src/tpQU/tp01/fifth/B.java
 create mode 100644 src/tpQU/tp01/first/A.java
 create mode 100644 src/tpQU/tp01/fourth/A.java
 create mode 100644 src/tpQU/tp01/second/A.java
 create mode 100644 src/tpQU/tp01/second/B.java
 create mode 100644 src/tpQU/tp01/third/A.java
 create mode 100644 src/tpQU/tp02/ToDoList.html
 create mode 100644 src/tpQU/tp02/WarriorCard.java
 create mode 100755 test/tpQU/tp02/AgendaTest.java
 create mode 100644 test/tpQU/tp02/EventTest.java
 create mode 100755 test/tpQU/tp02/WarriorCardTest.java

diff --git a/lib/qu-tp01.jar b/lib/qu-tp01.jar
new file mode 100644
index 0000000000000000000000000000000000000000..f410533d96cf77f4701143887c832810e30800f7
GIT binary patch
literal 9558
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
M7GYqB6#yk30M(UGk^lez

literal 0
HcmV?d00001

diff --git a/lib/res02-tpQU.jar b/lib/res02-tpQU.jar
new file mode 100644
index 0000000000000000000000000000000000000000..3b18a48ebc9aeff4f8db5af89661078dfc1541ab
GIT binary patch
literal 13355
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

literal 0
HcmV?d00001

diff --git a/src/tpQU/tp01/Main.java b/src/tpQU/tp01/Main.java
new file mode 100644
index 0000000..6718de3
--- /dev/null
+++ b/src/tpQU/tp01/Main.java
@@ -0,0 +1,11 @@
+import controlepkg2.sspkg.C;
+import controlepkg1.A;
+import controlepkg2.B;
+import controlpkg.D;
+
+class Main{
+    A triste = new A("triste");
+    B chapeau = new B();
+    C pointu = new C("pointu", 42);
+    D grand = new A("grand");
+}
diff --git a/src/tpQU/tp01/controlepkg1/A.java b/src/tpQU/tp01/controlepkg1/A.java
new file mode 100644
index 0000000..9f166a3
--- /dev/null
+++ b/src/tpQU/tp01/controlepkg1/A.java
@@ -0,0 +1,13 @@
+package controlepkg1;
+
+public class A {
+    private String aLabel;
+
+    public A(String aLabel) {
+        this.aLabel = aLabel;
+    }
+    @Override
+    public String toString() {
+        return "A [aLabel=" + aLabel + "]";
+    }
+}
diff --git a/src/tpQU/tp01/controlepkg2/B.java b/src/tpQU/tp01/controlepkg2/B.java
new file mode 100644
index 0000000..47d16fb
--- /dev/null
+++ b/src/tpQU/tp01/controlepkg2/B.java
@@ -0,0 +1,9 @@
+package controlepkg2;
+
+public class B {
+    private int aNumber = 42;
+    @Override
+    public String toString() {
+        return "B [aNumber=" + aNumber + "]";
+    }
+}
diff --git a/src/tpQU/tp01/controlepkg2/sspkg/C.java b/src/tpQU/tp01/controlepkg2/sspkg/C.java
new file mode 100644
index 0000000..41db448
--- /dev/null
+++ b/src/tpQU/tp01/controlepkg2/sspkg/C.java
@@ -0,0 +1,19 @@
+package controlepkg2.sspkg;
+
+public class C {
+    private String aLabel;
+    private int aNumber;
+    
+    public C(String aLabel, int aNumber) {
+        this.aLabel = aLabel;
+        this.aNumber = aNumber;
+    }
+    public String getALabel() {return aLabel;}
+    public void setALabel(String aLabel) {this.aLabel = aLabel;}
+    public int getANumber() {return aNumber;}
+    public void setANumber(int aNumber) {this.aNumber = aNumber;}
+    @Override
+    public String toString() {
+        return "C [aLabel=" + aLabel + ", aNumber=" + aNumber + "]";
+    }
+}
diff --git a/src/tpQU/tp01/controlpkg1/qu-tp01.jar b/src/tpQU/tp01/controlpkg1/qu-tp01.jar
new file mode 100644
index 0000000000000000000000000000000000000000..f410533d96cf77f4701143887c832810e30800f7
GIT binary patch
literal 9558
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
M7GYqB6#yk30M(UGk^lez

literal 0
HcmV?d00001

diff --git a/src/tpQU/tp01/fifth/B.java b/src/tpQU/tp01/fifth/B.java
new file mode 100644
index 0000000..52ee171
--- /dev/null
+++ b/src/tpQU/tp01/fifth/B.java
@@ -0,0 +1,12 @@
+package fifth;
+
+import fourth.A;
+
+class B {
+
+    public static void main(String[] args) {
+        System.out.println("class B -- main()");
+        A a = new A();
+        System.out.println(a + " again");
+    }
+}
\ No newline at end of file
diff --git a/src/tpQU/tp01/first/A.java b/src/tpQU/tp01/first/A.java
new file mode 100644
index 0000000..6f6a9c5
--- /dev/null
+++ b/src/tpQU/tp01/first/A.java
@@ -0,0 +1,22 @@
+class A{
+    String label = "42";
+
+    A(){
+        ;
+    }
+
+    A(String label){
+        this.label = label;
+    }
+
+    public String toString(){
+        return this.label;
+    }
+
+    public static void main(String[] args){
+        A a1 = new A();
+        A a2 = new A("a choisir");
+        System.out.println(a1);
+        System.out.println(a2);
+    }
+}
\ No newline at end of file
diff --git a/src/tpQU/tp01/fourth/A.java b/src/tpQU/tp01/fourth/A.java
new file mode 100644
index 0000000..4531de6
--- /dev/null
+++ b/src/tpQU/tp01/fourth/A.java
@@ -0,0 +1,19 @@
+package fourth;
+public class A{
+    String label = "42";
+
+    public A(){
+        ;
+    }
+
+    public A(String label){
+        this.label = label;
+    }
+
+    public String toString(){
+        return this.label;
+    }
+
+    // javac second/B.java -d ../bin -cp ../cp
+
+}
\ No newline at end of file
diff --git a/src/tpQU/tp01/second/A.java b/src/tpQU/tp01/second/A.java
new file mode 100644
index 0000000..2547c13
--- /dev/null
+++ b/src/tpQU/tp01/second/A.java
@@ -0,0 +1,18 @@
+class A{
+    String label = "42";
+
+    A(){
+        ;
+    }
+
+    A(String label){
+        this.label = label;
+    }
+
+    public String toString(){
+        return this.label;
+    }
+
+    // javac second/B.java -d ../bin -cp ../cp
+
+}
\ No newline at end of file
diff --git a/src/tpQU/tp01/second/B.java b/src/tpQU/tp01/second/B.java
new file mode 100644
index 0000000..fb5b7a3
--- /dev/null
+++ b/src/tpQU/tp01/second/B.java
@@ -0,0 +1,8 @@
+class B {
+
+    public static void main(String[] args) {
+        System.out.println("class B -- main()");
+        A a = new A();
+        System.out.println(a + " again");
+    }
+}
\ No newline at end of file
diff --git a/src/tpQU/tp01/third/A.java b/src/tpQU/tp01/third/A.java
new file mode 100644
index 0000000..9c711ef
--- /dev/null
+++ b/src/tpQU/tp01/third/A.java
@@ -0,0 +1,7 @@
+package third;
+
+public class A {
+    public static void main(String[] args) {
+        System.out.println("Pkg third - Class A - main program");  // java -cp bin third/A.java
+    }
+}
\ No newline at end of file
diff --git a/src/tpQU/tp02/ToDoList.html b/src/tpQU/tp02/ToDoList.html
new file mode 100644
index 0000000..908b125
--- /dev/null
+++ b/src/tpQU/tp02/ToDoList.html
@@ -0,0 +1,360 @@
+<!DOCTYPE HTML>
+<html lang="fr">
+<head>
+<!-- Generated by javadoc (21) on Mon Mar 10 10:46:53 CET 2025 -->
+<title>ToDoList</title>
+<meta name="viewport" content="width=device-width, initial-scale=1">
+<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
+<meta name="dc.created" content="2025-03-10">
+<meta name="description" content="declaration: package: tpOO.tp03, class: ToDoList">
+<meta name="generator" content="javadoc/ClassWriterImpl">
+<link rel="stylesheet" type="text/css" href="../../stylesheet.css" title="Style">
+<link rel="stylesheet" type="text/css" href="../../script-dir/jquery-ui.min.css" title="Style">
+<script type="text/javascript" src="../../script.js"></script>
+<script type="text/javascript" src="../../script-dir/jquery-3.7.1.min.js"></script>
+<script type="text/javascript" src="../../script-dir/jquery-ui.min.js"></script>
+</head>
+<body class="class-declaration-page">
+<script type="text/javascript">var pathtoroot = "../../";
+loadScripts(document, 'script');</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<div class="flex-box">
+<header role="banner" class="flex-header">
+<nav role="navigation">
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="top-nav" id="navbar-top"><button id="navbar-toggle-button" aria-controls="navbar-top" aria-expanded="false" aria-label="Toggle navigation links"><span class="nav-bar-toggle-icon">&nbsp;</span><span class="nav-bar-toggle-icon">&nbsp;</span><span class="nav-bar-toggle-icon">&nbsp;</span></button>
+<div class="skip-nav"><a href="#skip-navbar-top" title="Skip navigation links">Skip navigation links</a></div>
+<ul id="navbar-top-firstrow" class="nav-list" title="Navigation">
+<li><a href="package-summary.html">Package</a></li>
+<li class="nav-bar-cell1-rev">Class</li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../index-all.html">Index</a></li>
+<li><a href="../../help-doc.html#class">Help</a></li>
+</ul>
+<ul class="sub-nav-list-small">
+<li>
+<p>Summary:</p>
+<ul>
+<li>Nested</li>
+<li>Field</li>
+<li><a href="#constructor-summary">Constr</a></li>
+<li><a href="#method-summary">Method</a></li>
+</ul>
+</li>
+<li>
+<p>Detail:</p>
+<ul>
+<li>Field</li>
+<li><a href="#constructor-detail">Constr</a></li>
+<li><a href="#method-detail">Method</a></li>
+</ul>
+</li>
+</ul>
+</div>
+<div class="sub-nav">
+<div id="navbar-sub-list">
+<ul class="sub-nav-list">
+<li>Summary:&nbsp;</li>
+<li>Nested&nbsp;|&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#constructor-summary">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method-summary">Method</a></li>
+</ul>
+<ul class="sub-nav-list">
+<li>Detail:&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#constructor-detail">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method-detail">Method</a></li>
+</ul>
+</div>
+<div class="nav-list-search"><a href="../../search.html">SEARCH</a>
+<input type="text" id="search-input" disabled placeholder="Search">
+<input type="reset" id="reset-button" disabled value="reset">
+</div>
+</div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<span class="skip-nav" id="skip-navbar-top"></span></nav>
+</header>
+<div class="flex-content">
+<main role="main">
+<!-- ======== START OF CLASS DATA ======== -->
+<div class="header">
+<div class="sub-title"><span class="package-label-in-type">Package</span>&nbsp;<a href="package-summary.html">tpOO.tp03</a></div>
+<h1 title="Class ToDoList" class="title">Class ToDoList</h1>
+</div>
+<div class="inheritance" title="Inheritance Tree"><a href="https://docs.oracle.com/en/java/javase/21/docs/api/java.base/java/lang/Object.html" title="class or interface in java.lang" class="external-link">java.lang.Object</a>
+<div class="inheritance">tpOO.tp03.ToDoList</div>
+</div>
+<section class="class-description" id="class-description">
+<hr>
+<div class="type-signature"><span class="modifiers">public class </span><span class="element-name type-name-label">ToDoList</span>
+<span class="extends-implements">extends <a href="https://docs.oracle.com/en/java/javase/21/docs/api/java.base/java/lang/Object.html" title="class or interface in java.lang" class="external-link">Object</a></span></div>
+<div class="block">Représente une liste de tâches à effectuer.</div>
+</section>
+<section class="summary">
+<ul class="summary-list">
+<!-- ======== CONSTRUCTOR SUMMARY ======== -->
+<li>
+<section class="constructor-summary" id="constructor-summary">
+<h2>Constructor Summary</h2>
+<div class="caption"><span>Constructors</span></div>
+<div class="summary-table two-column-summary">
+<div class="table-header col-first">Constructor</div>
+<div class="table-header col-last">Description</div>
+<div class="col-constructor-name even-row-color"><code><a href="#%3Cinit%3E()" class="member-name-link">ToDoList</a>()</code></div>
+<div class="col-last even-row-color">
+<div class="block">Constructeur initialisant la liste avec une capacité de 5 tâches.</div>
+</div>
+</div>
+</section>
+</li>
+<!-- ========== METHOD SUMMARY =========== -->
+<li>
+<section class="method-summary" id="method-summary">
+<h2>Method Summary</h2>
+<div id="method-summary-table">
+<div class="table-tabs" role="tablist" aria-orientation="horizontal"><button id="method-summary-table-tab0" role="tab" aria-selected="true" aria-controls="method-summary-table.tabpanel" tabindex="0" onkeydown="switchTab(event)" onclick="show('method-summary-table', 'method-summary-table', 3)" class="active-table-tab">All Methods</button><button id="method-summary-table-tab2" role="tab" aria-selected="false" aria-controls="method-summary-table.tabpanel" tabindex="-1" onkeydown="switchTab(event)" onclick="show('method-summary-table', 'method-summary-table-tab2', 3)" class="table-tab">Instance Methods</button><button id="method-summary-table-tab4" role="tab" aria-selected="false" aria-controls="method-summary-table.tabpanel" tabindex="-1" onkeydown="switchTab(event)" onclick="show('method-summary-table', 'method-summary-table-tab4', 3)" class="table-tab">Concrete Methods</button></div>
+<div id="method-summary-table.tabpanel" role="tabpanel" aria-labelledby="method-summary-table-tab0">
+<div class="summary-table three-column-summary">
+<div class="table-header col-first">Modifier and Type</div>
+<div class="table-header col-second">Method</div>
+<div class="table-header col-last">Description</div>
+<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code>void</code></div>
+<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#addTask(tpOO.tp03.Task)" class="member-name-link">addTask</a><wbr>(<a href="Task.html" title="class in tpOO.tp03">Task</a>&nbsp;aTask)</code></div>
+<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
+<div class="block">Ajoute une tâche à la liste.</div>
+</div>
+<div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="Task.html" title="class in tpOO.tp03">Task</a>[]</code></div>
+<div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#dueTasks()" class="member-name-link">dueTasks</a>()</code></div>
+<div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
+<div class="block">Retourne les tâches dont la date d'échéance est aujourd'hui.</div>
+</div>
+<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code>void</code></div>
+<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#durationSort()" class="member-name-link">durationSort</a>()</code></div>
+<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
+<div class="block">Trie les tâches par durée (de la plus longue à la plus courte).</div>
+</div>
+<div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code>void</code></div>
+<div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#emergencySort()" class="member-name-link">emergencySort</a>()</code></div>
+<div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
+<div class="block">Trie les tâches par ordre d'urgence (échéance la plus proche en premier).</div>
+</div>
+<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code>void</code></div>
+<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#enlarge()" class="member-name-link">enlarge</a>()</code></div>
+<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
+<div class="block">Augmente la capacité de la liste de tâches de 5 unités.</div>
+</div>
+<div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="Task.html" title="class in tpOO.tp03">Task</a>[]</code></div>
+<div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#getChores()" class="member-name-link">getChores</a>()</code></div>
+<div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
+<div class="block">Retourne le tableau des tâches.</div>
+</div>
+<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code>int</code></div>
+<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#getNbTasks()" class="member-name-link">getNbTasks</a>()</code></div>
+<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
+<div class="block">Retourne le nombre de tâches dans la liste.</div>
+</div>
+<div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code>boolean</code></div>
+<div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#isOverwhelmed()" class="member-name-link">isOverwhelmed</a>()</code></div>
+<div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
+<div class="block">Vérifie si la liste de tâches est surchargée.</div>
+</div>
+<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code>void</code></div>
+<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#onSickLeave(int)" class="member-name-link">onSickLeave</a><wbr>(int&nbsp;nbDays)</code></div>
+<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
+<div class="block">Reporte toutes les tâches de la liste d'un certain nombre de jours.</div>
+</div>
+<div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code>void</code></div>
+<div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#removeTask(int)" class="member-name-link">removeTask</a><wbr>(int&nbsp;i)</code></div>
+<div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
+<div class="block">Supprime une tâche à un index donné.</div>
+</div>
+<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code>void</code></div>
+<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#removeTask(tpOO.tp03.Task)" class="member-name-link">removeTask</a><wbr>(<a href="Task.html" title="class in tpOO.tp03">Task</a>&nbsp;aTask)</code></div>
+<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
+<div class="block">Supprime une tâche spécifique de la liste.</div>
+</div>
+<div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code>void</code></div>
+<div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#senioritySort()" class="member-name-link">senioritySort</a>()</code></div>
+<div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
+<div class="block">Trie les tâches par ancienneté (de la plus ancienne à la plus récente).</div>
+</div>
+<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="https://docs.oracle.com/en/java/javase/21/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a></code></div>
+<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#toString()" class="member-name-link">toString</a>()</code></div>
+<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
+<div class="block">Retourne une représentation sous forme de chaîne de caractères de la liste de tâches.</div>
+</div>
+</div>
+</div>
+</div>
+<div class="inherited-list">
+<h3 id="methods-inherited-from-class-java.lang.Object">Methods inherited from class&nbsp;java.lang.<a href="https://docs.oracle.com/en/java/javase/21/docs/api/java.base/java/lang/Object.html" title="class or interface in java.lang" class="external-link">Object</a></h3>
+<code><a href="https://docs.oracle.com/en/java/javase/21/docs/api/java.base/java/lang/Object.html#clone()" title="class or interface in java.lang" class="external-link">clone</a>, <a href="https://docs.oracle.com/en/java/javase/21/docs/api/java.base/java/lang/Object.html#equals(java.lang.Object)" title="class or interface in java.lang" class="external-link">equals</a>, <a href="https://docs.oracle.com/en/java/javase/21/docs/api/java.base/java/lang/Object.html#finalize()" title="class or interface in java.lang" class="external-link">finalize</a>, <a href="https://docs.oracle.com/en/java/javase/21/docs/api/java.base/java/lang/Object.html#getClass()" title="class or interface in java.lang" class="external-link">getClass</a>, <a href="https://docs.oracle.com/en/java/javase/21/docs/api/java.base/java/lang/Object.html#hashCode()" title="class or interface in java.lang" class="external-link">hashCode</a>, <a href="https://docs.oracle.com/en/java/javase/21/docs/api/java.base/java/lang/Object.html#notify()" title="class or interface in java.lang" class="external-link">notify</a>, <a href="https://docs.oracle.com/en/java/javase/21/docs/api/java.base/java/lang/Object.html#notifyAll()" title="class or interface in java.lang" class="external-link">notifyAll</a>, <a href="https://docs.oracle.com/en/java/javase/21/docs/api/java.base/java/lang/Object.html#wait()" title="class or interface in java.lang" class="external-link">wait</a>, <a href="https://docs.oracle.com/en/java/javase/21/docs/api/java.base/java/lang/Object.html#wait(long)" title="class or interface in java.lang" class="external-link">wait</a>, <a href="https://docs.oracle.com/en/java/javase/21/docs/api/java.base/java/lang/Object.html#wait(long,int)" title="class or interface in java.lang" class="external-link">wait</a></code></div>
+</section>
+</li>
+</ul>
+</section>
+<section class="details">
+<ul class="details-list">
+<!-- ========= CONSTRUCTOR DETAIL ======== -->
+<li>
+<section class="constructor-details" id="constructor-detail">
+<h2>Constructor Details</h2>
+<ul class="member-list">
+<li>
+<section class="detail" id="&lt;init&gt;()">
+<h3>ToDoList</h3>
+<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="element-name">ToDoList</span>()</div>
+<div class="block">Constructeur initialisant la liste avec une capacité de 5 tâches.</div>
+</section>
+</li>
+</ul>
+</section>
+</li>
+<!-- ============ METHOD DETAIL ========== -->
+<li>
+<section class="method-details" id="method-detail">
+<h2>Method Details</h2>
+<ul class="member-list">
+<li>
+<section class="detail" id="enlarge()">
+<h3>enlarge</h3>
+<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type">void</span>&nbsp;<span class="element-name">enlarge</span>()</div>
+<div class="block">Augmente la capacité de la liste de tâches de 5 unités.</div>
+</section>
+</li>
+<li>
+<section class="detail" id="addTask(tpOO.tp03.Task)">
+<h3>addTask</h3>
+<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type">void</span>&nbsp;<span class="element-name">addTask</span><wbr><span class="parameters">(<a href="Task.html" title="class in tpOO.tp03">Task</a>&nbsp;aTask)</span></div>
+<div class="block">Ajoute une tâche à la liste.</div>
+<dl class="notes">
+<dt>Parameters:</dt>
+<dd><code>aTask</code> - La tâche à ajouter.</dd>
+</dl>
+</section>
+</li>
+<li>
+<section class="detail" id="removeTask(tpOO.tp03.Task)">
+<h3>removeTask</h3>
+<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type">void</span>&nbsp;<span class="element-name">removeTask</span><wbr><span class="parameters">(<a href="Task.html" title="class in tpOO.tp03">Task</a>&nbsp;aTask)</span></div>
+<div class="block">Supprime une tâche spécifique de la liste.</div>
+<dl class="notes">
+<dt>Parameters:</dt>
+<dd><code>aTask</code> - La tâche à supprimer.</dd>
+</dl>
+</section>
+</li>
+<li>
+<section class="detail" id="removeTask(int)">
+<h3>removeTask</h3>
+<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type">void</span>&nbsp;<span class="element-name">removeTask</span><wbr><span class="parameters">(int&nbsp;i)</span></div>
+<div class="block">Supprime une tâche à un index donné.</div>
+<dl class="notes">
+<dt>Parameters:</dt>
+<dd><code>i</code> - L'index de la tâche à supprimer.</dd>
+</dl>
+</section>
+</li>
+<li>
+<section class="detail" id="isOverwhelmed()">
+<h3>isOverwhelmed</h3>
+<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type">boolean</span>&nbsp;<span class="element-name">isOverwhelmed</span>()</div>
+<div class="block">Vérifie si la liste de tâches est surchargée.</div>
+<dl class="notes">
+<dt>Returns:</dt>
+<dd>true si la liste est surchargée, false sinon.</dd>
+</dl>
+</section>
+</li>
+<li>
+<section class="detail" id="getNbTasks()">
+<h3>getNbTasks</h3>
+<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type">int</span>&nbsp;<span class="element-name">getNbTasks</span>()</div>
+<div class="block">Retourne le nombre de tâches dans la liste.</div>
+<dl class="notes">
+<dt>Returns:</dt>
+<dd>Le nombre total de tâches non nulles.</dd>
+</dl>
+</section>
+</li>
+<li>
+<section class="detail" id="onSickLeave(int)">
+<h3>onSickLeave</h3>
+<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type">void</span>&nbsp;<span class="element-name">onSickLeave</span><wbr><span class="parameters">(int&nbsp;nbDays)</span></div>
+<div class="block">Reporte toutes les tâches de la liste d'un certain nombre de jours.</div>
+<dl class="notes">
+<dt>Parameters:</dt>
+<dd><code>nbDays</code> - Nombre de jours de report.</dd>
+</dl>
+</section>
+</li>
+<li>
+<section class="detail" id="dueTasks()">
+<h3>dueTasks</h3>
+<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type"><a href="Task.html" title="class in tpOO.tp03">Task</a>[]</span>&nbsp;<span class="element-name">dueTasks</span>()</div>
+<div class="block">Retourne les tâches dont la date d'échéance est aujourd'hui.</div>
+<dl class="notes">
+<dt>Returns:</dt>
+<dd>Un tableau des tâches dues aujourd'hui.</dd>
+</dl>
+</section>
+</li>
+<li>
+<section class="detail" id="emergencySort()">
+<h3>emergencySort</h3>
+<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type">void</span>&nbsp;<span class="element-name">emergencySort</span>()</div>
+<div class="block">Trie les tâches par ordre d'urgence (échéance la plus proche en premier).</div>
+</section>
+</li>
+<li>
+<section class="detail" id="durationSort()">
+<h3>durationSort</h3>
+<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type">void</span>&nbsp;<span class="element-name">durationSort</span>()</div>
+<div class="block">Trie les tâches par durée (de la plus longue à la plus courte).</div>
+</section>
+</li>
+<li>
+<section class="detail" id="senioritySort()">
+<h3>senioritySort</h3>
+<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type">void</span>&nbsp;<span class="element-name">senioritySort</span>()</div>
+<div class="block">Trie les tâches par ancienneté (de la plus ancienne à la plus récente).</div>
+</section>
+</li>
+<li>
+<section class="detail" id="toString()">
+<h3>toString</h3>
+<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type"><a href="https://docs.oracle.com/en/java/javase/21/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a></span>&nbsp;<span class="element-name">toString</span>()</div>
+<div class="block">Retourne une représentation sous forme de chaîne de caractères de la liste de tâches.</div>
+<dl class="notes">
+<dt>Overrides:</dt>
+<dd><code><a href="https://docs.oracle.com/en/java/javase/21/docs/api/java.base/java/lang/Object.html#toString()" title="class or interface in java.lang" class="external-link">toString</a></code>&nbsp;in class&nbsp;<code><a href="https://docs.oracle.com/en/java/javase/21/docs/api/java.base/java/lang/Object.html" title="class or interface in java.lang" class="external-link">Object</a></code></dd>
+<dt>Returns:</dt>
+<dd>Une chaîne représentant la liste des tâches.</dd>
+</dl>
+</section>
+</li>
+<li>
+<section class="detail" id="getChores()">
+<h3>getChores</h3>
+<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type"><a href="Task.html" title="class in tpOO.tp03">Task</a>[]</span>&nbsp;<span class="element-name">getChores</span>()</div>
+<div class="block">Retourne le tableau des tâches.</div>
+<dl class="notes">
+<dt>Returns:</dt>
+<dd>Un tableau de tâches.</dd>
+</dl>
+</section>
+</li>
+</ul>
+</section>
+</li>
+</ul>
+</section>
+<!-- ========= END OF CLASS DATA ========= -->
+</main>
+</div>
+</div>
+</body>
+</html>
diff --git a/src/tpQU/tp02/WarriorCard.java b/src/tpQU/tp02/WarriorCard.java
new file mode 100644
index 0000000..9470449
--- /dev/null
+++ b/src/tpQU/tp02/WarriorCard.java
@@ -0,0 +1,65 @@
+package tp02;
+
+/**
+ * @author Alexandre
+ * @version 0.01
+ * @since java21
+ */
+public class WarriorCard {
+    private String name;
+    private int strength = 0;
+    private int agility = 0;
+
+    /**
+     * @param name
+     * @param strength
+     * @param agility
+     */
+    WarriorCard(String name, int strength, int agility){
+        this.name = name;
+        this.strength = strength;
+        this.agility = agility;
+    }
+
+    /**
+     * @param obj Objet qui est vérifié
+     * @return true si égale
+     * Vérifie si l'objet est égale
+     */
+    public boolean equals(Object obj) {
+        if(this == obj){
+            return true;
+        }
+        if(obj == null){
+            return false;
+        }
+        if(this.getClass() != obj.getClass()){
+            return false;
+        }
+        WarriorCard other = (WarriorCard) obj;
+        if (this.name == null) {
+            if (other.name != null){
+                return false;
+            }
+        } else if (!this.name.equals(other.name)){
+            return false;
+        }
+        return true;
+    }
+
+    /**
+     * @param other une autre carte
+     * @return différence de strength
+     */
+    public int compareStrength(WarriorCard other){
+        return this.strength - other.strength;
+    }
+
+    public int compareAgility(WarriorCard other){
+        return this.agility - other.agility;
+    }
+
+    public String toString(){
+        return this.name + "[S=" + this.strength + ",A=" + this.agility + "]";
+    }
+}
diff --git a/test/tpQU/tp02/AgendaTest.java b/test/tpQU/tp02/AgendaTest.java
new file mode 100755
index 0000000..e23d4cc
--- /dev/null
+++ b/test/tpQU/tp02/AgendaTest.java
@@ -0,0 +1,56 @@
+package tpQU.tp02;
+
+import static org.junit.jupiter.api.Assertions.assertTrue;
+import static org.junit.jupiter.api.Assertions.assertFalse;
+import static org.junit.jupiter.api.Assertions.assertEquals;
+import org.junit.jupiter.api.BeforeEach;
+import org.junit.jupiter.api.Test;
+
+import java.time.LocalDate;
+import java.util.ArrayList;
+
+public class AgendaTest {
+	public Event evt1;
+	public Event evt2;
+	public Event evt3;
+	public Event evt4;
+	public Agenda ag = new Agenda();
+	public Agenda ag2 = new Agenda();
+	
+	@BeforeEach
+	public void avantTest() {
+		ag.clear();
+		LocalDate d1 = LocalDate.of(2018, 1, 5);
+		LocalDate d2 = LocalDate.of(2018, 2, 10);
+		LocalDate d3 = LocalDate.of(2018, 3, 15);
+		LocalDate d4 = LocalDate.of(2018, 4, 20);
+		evt1 = new Event("evt1", null, d1, d2);
+		evt2 = new Event("evt2", null, d2, d3);
+		evt3 = new Event("evt3", null, d3, d4); 
+		evt4 = new Event("evt4", null, d2, d4);
+	}
+	
+	@Test
+	public void testConflicting() {
+		assertTrue(ag.conflicting(evt1));
+		ag.addEvent(evt1);
+		assertTrue(ag.conflicting(evt3));
+		ag.addEvent(evt3);
+		assertFalse(ag.conflicting(evt4));
+	}
+	@Test
+	public void testRemoveOverlapping() {
+		ag.addEvent(evt1);
+		ArrayList<Event> tmp = new ArrayList<Event>();
+		ag.removeOverlapping(evt1);
+		assertEquals(ag.events, tmp);
+		ag.addEvent(evt1);ag.addEvent(evt2);tmp.add(evt1); tmp.add(evt2);
+		ag.removeOverlapping(evt1);
+		ag.addEvent(evt3); tmp.clear();
+		ag.removeOverlapping(evt4);
+		assertEquals(ag.events,tmp);
+		ag.addEvent(evt1);ag.addEvent(evt2);ag.addEvent(evt3); tmp.clear(); tmp.add(evt1);
+		ag.removeOverlapping(evt4);
+		assertEquals(ag.events,tmp);
+	}
+}
diff --git a/test/tpQU/tp02/EventTest.java b/test/tpQU/tp02/EventTest.java
new file mode 100644
index 0000000..a4b7221
--- /dev/null
+++ b/test/tpQU/tp02/EventTest.java
@@ -0,0 +1,96 @@
+package tpQU.tp02;
+
+import static org.junit.jupiter.api.Assertions.assertEquals;
+import static org.junit.jupiter.api.Assertions.assertFalse;
+import static org.junit.jupiter.api.Assertions.assertNull;
+import static org.junit.jupiter.api.Assertions.assertTrue;
+
+import java.time.LocalDate;
+
+import org.junit.jupiter.api.BeforeEach;
+import org.junit.jupiter.api.Test;
+
+import tpOO.tp03.Task;
+
+public class EventTest {
+    public Event evt1;
+    public Event evt2;
+    public Event evt3;
+    public Event evt4;
+    public Event evt5;
+    public Event evt6;
+    public Task t1;
+    public Task t2;
+
+    @BeforeEach
+    public void avantTest() {
+        LocalDate d1 = LocalDate.of(2022, 1, 5);
+        LocalDate d2 = LocalDate.of(2022, 2, 10);
+        LocalDate d3 = LocalDate.of(2022, 3, 15);
+        LocalDate d4 = LocalDate.of(2022, 4, 20);
+        String place1 = "nowhere";
+        String place2 = "everywhere";
+        evt1 = new Event("evt1", place1, d1, d2);
+        evt2 = new Event("evt2", place1, d2, d3);
+        evt3 = new Event("evt3", place1, d3, d4);
+        evt4 = new Event("evt4", place1, d2, d4);
+        evt5 = new Event("evt5", place2, d1, d2);
+        evt6 = new Event("evt1", place1, d1, d2);
+        t1 = new Task("task1", 2);
+        t2 = new Task("task2", 1);
+    }
+
+    @Test
+    void testToString() {
+        assertEquals("evt1 - nowhere: \t 2022-01-05 -> 2022-02-10", evt1.toString());
+        assertEquals("evt2 - nowhere: \t 2022-02-10 -> 2022-03-15", evt2.toString());
+        assertEquals("evt3 - nowhere: \t 2022-03-15 -> 2022-04-20", evt3.toString());
+        assertEquals("evt4 - nowhere: \t 2022-02-10 -> 2022-04-20", evt4.toString());
+        assertEquals("evt5 - everywhere: \t 2022-01-05 -> 2022-02-10", evt5.toString());
+    }
+
+    @Test
+    void testAddTask() {
+        assertEquals(0, evt1.getNbTasks());
+        assertNull(evt1.getChores()[0]);
+        evt1.addTask(t1);
+        assertEquals(1, evt1.getNbTasks());
+        assertEquals(t1, evt1.getChores()[0]);
+        evt1.addTask(t2);
+        assertEquals(2, evt1.getNbTasks());
+        assertEquals(t2, evt1.getChores()[1]);
+        evt1.addTask(t1);
+        assertEquals(3, evt1.getNbTasks());
+        assertEquals(t1, evt1.getChores()[0]);
+        assertEquals(t1, evt1.getChores()[2]);
+    }
+
+    @Test
+    void testEquals() {
+        assertTrue(evt1.equals(evt1));
+        assertFalse(evt1.equals(evt2));
+        assertFalse(evt1.equals(evt3));
+        assertFalse(evt1.equals(evt4));
+        assertFalse(evt1.equals(evt5));
+        assertTrue(evt1.equals(evt6));
+        //
+        assertTrue(evt2.equals(evt2));
+        assertFalse(evt2.equals(evt3));
+        assertFalse(evt2.equals(evt4));
+        assertFalse(evt2.equals(evt5));
+        assertFalse(evt2.equals(evt6));
+    }
+
+    @Test
+    void testOverlap() {
+        assertTrue(evt1.overlap(evt1));
+        assertFalse(evt1.overlap(evt2));
+        assertFalse(evt1.overlap(evt3));
+        assertFalse(evt1.overlap(evt4));
+        assertTrue(evt1.overlap(evt5));
+        assertTrue(evt1.overlap(evt6));
+        assertFalse(evt2.overlap(evt3));
+        assertTrue(evt2.overlap(evt4));
+        assertTrue(evt3.overlap(evt4));
+    }
+}
diff --git a/test/tpQU/tp02/WarriorCardTest.java b/test/tpQU/tp02/WarriorCardTest.java
new file mode 100755
index 0000000..4a09085
--- /dev/null
+++ b/test/tpQU/tp02/WarriorCardTest.java
@@ -0,0 +1,47 @@
+package tp02;
+
+import static org.junit.jupiter.api.Assertions.assertEquals;
+import static org.junit.jupiter.api.Assertions.assertFalse;
+import static org.junit.jupiter.api.Assertions.assertTrue;
+
+import org.junit.jupiter.api.AfterAll;
+import org.junit.jupiter.api.AfterEach;
+import org.junit.jupiter.api.BeforeAll;
+import org.junit.jupiter.api.BeforeEach;
+import org.junit.jupiter.api.Test;
+
+public class WarriorCardTest {
+	WarriorCard c1;
+	WarriorCard c2;
+	WarriorCard c3;
+	WarriorCard c4;
+
+	@BeforeAll
+	public static void beforeAllTests() {System.out.println("Start test series");}
+	@AfterAll
+	public static void afterAllTests() {System.out.println("End test series");}
+	@BeforeEach
+	public void beforeATest() {
+		c1 = new WarriorCard("w1", 10, 10);
+		c2 = new WarriorCard("w1", 5, 5);
+		c3 = new WarriorCard("w2", 20, 20);
+		c4 = c1;
+	}
+	@AfterEach
+	public void afterATest() {System.out.println("--------- end of a test---------");}
+	@Test
+	public void testEquals() {
+		System.out.println("testEquals");
+		assertTrue(c1.equals(c1));
+		assertTrue(c1.equals(c2));
+		assertFalse(c1.equals(c3));
+		assertTrue(c1.equals(c4));
+	}
+	@Test
+	public void testToString() {
+		System.out.println("testToString");
+		assertEquals("w1[S=10,A=10]", c1.toString());
+		assertEquals("w2[S=20,A=20]", c3.toString());
+	}
+
+}
\ No newline at end of file
-- 
GitLab