diff --git a/TP1/.gitignore b/TP1/.gitignore index 917e7a67c1f5a24e14265449f95d9cd6fe3c33ac..840c98321c48f07cf005ce614c00ec5b3cf565eb 100644 --- a/TP1/.gitignore +++ b/TP1/.gitignore @@ -1,14 +1,10 @@ -.gradle -build/ -!gradle/wrapper/gradle-wrapper.jar -!**/src/main/**/build/ -!**/src/test/**/build/ +.gradle/ +.idea/ +build/**/ +*.iml +*.ipr +*.iws + -### IntelliJ IDEA ### -.idea -### VS Code ### -.vscode/ -### Mac OS ### -.DS_Store \ No newline at end of file diff --git a/TP1/README.md b/TP1/README.md index a734f553b48efec227ddf20f8842ab71fbbec6cd..b2db0da092b968442a46bdd798f8a249a2a29f45 100644 --- a/TP1/README.md +++ b/TP1/README.md @@ -1,11 +1,14 @@ -# TP 1 : tests boîte noire +# TP 2 : tests unitaires et couverture de test -Les exécutables à tester sont dans le répertoire `executables`. -Les fichiers images correspondant au cas de test sont à mettre dans le répertoire `ìmages`. +Les commandes gradle les plus utiles : +- `gradle test` pour lancer les tests (rapports dans `build/reports/tests/test`), +- `gradle jacocoTestReport` pour lancer la couverture de code via l'outil [Jacoco](https://www.eclemma.org/jacoco/) (rapport accessible en html à `build/reports/jacoco/test/html/index.html`). -Pour lancer les tests, il suffit d'utiliser la commande : +Le fichier `build.gradle` contient la configuration du projet avec notamment la définition de la classe contenant la méthode `main` à exécuter pour l'application. -```bash -gradle run -``` + +## Membre(s) du projet + +- NOM, prénom du premier membre du projet +- NOM, prénom du deuxième membre du projet (optionnel) diff --git a/TP1/build.gradle b/TP1/build.gradle deleted file mode 100644 index f778d087cae6502e623f984821120bda7a216d61..0000000000000000000000000000000000000000 --- a/TP1/build.gradle +++ /dev/null @@ -1,24 +0,0 @@ -plugins { - id 'java' - id 'application' -} - -group = 'org.example' -version = '1.0-SNAPSHOT' - -repositories { - mavenCentral() -} - -dependencies { - testImplementation platform('org.junit:junit-bom:5.9.1') - testImplementation 'org.junit.jupiter:junit-jupiter' -} - -test { - useJUnitPlatform() -} - -application { - mainClass.set("BlackBox") -} \ No newline at end of file diff --git a/TP1/build.gradle.kts b/TP1/build.gradle.kts new file mode 100644 index 0000000000000000000000000000000000000000..5663ea9bb81624326f64ae00355517589f3d9385 --- /dev/null +++ b/TP1/build.gradle.kts @@ -0,0 +1,30 @@ +plugins { + id("java") +} + +group = "fr.univ_amu.m1info" +version = "1.0-SNAPSHOT" + +repositories { + mavenCentral() +} + +dependencies { + testImplementation("org.junit.jupiter:junit-jupiter-api:5.11.4") + testRuntimeOnly("org.junit.jupiter:junit-jupiter-engine:5.11.4") + testRuntimeOnly("org.junit.platform:junit-platform-launcher") + testImplementation("org.assertj:assertj-core:3.27.0") +} + +tasks.test { + useJUnitPlatform() +} + + + + + + + + + diff --git a/TP3/gradle.properties b/TP1/gradle.properties similarity index 100% rename from TP3/gradle.properties rename to TP1/gradle.properties diff --git a/TP1/gradle/wrapper/gradle-wrapper.jar b/TP1/gradle/wrapper/gradle-wrapper.jar index 249e5832f090a2944b7473328c07c9755baa3196..41d9927a4d4fb3f96a785543079b8df6723c946b 100644 Binary files a/TP1/gradle/wrapper/gradle-wrapper.jar and b/TP1/gradle/wrapper/gradle-wrapper.jar differ diff --git a/TP1/gradle/wrapper/gradle-wrapper.properties b/TP1/gradle/wrapper/gradle-wrapper.properties index 16e76d0519dad7ac3f4b37d9a5e9ca206f111c42..d6e308a63789be4633983409725715f3287f811c 100644 --- a/TP1/gradle/wrapper/gradle-wrapper.properties +++ b/TP1/gradle/wrapper/gradle-wrapper.properties @@ -1,6 +1,5 @@ -#Tue Dec 05 18:16:17 CET 2023 distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists -distributionUrl=https\://services.gradle.org/distributions/gradle-8.5-bin.zip +distributionUrl=https\://services.gradle.org/distributions/gradle-8.12-bin.zip zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists diff --git a/TP1/gradlew b/TP1/gradlew index 1b6c787337ffb79f0e3cf8b1e9f00f680a959de1..5580fce9d759275e4bb2e072524fb732dd182d8f 100755 --- a/TP1/gradlew +++ b/TP1/gradlew @@ -55,7 +55,7 @@ # Darwin, MinGW, and NonStop. # # (3) This script is generated from the Groovy template -# https://github.com/gradle/gradle/blob/master/subprojects/plugins/src/main/resources/org/gradle/api/internal/plugins/unixStartScript.txt +# https://github.com/gradle/gradle/blob/HEAD/subprojects/plugins/src/main/resources/org/gradle/api/internal/plugins/unixStartScript.txt # within the Gradle project. # # You can find Gradle at https://github.com/gradle/gradle/. @@ -80,13 +80,13 @@ do esac done -APP_HOME=$( cd "${APP_HOME:-./}" && pwd -P ) || exit - -APP_NAME="Gradle" +# This is normally unused +# shellcheck disable=SC2034 APP_BASE_NAME=${0##*/} +APP_HOME=$( cd "${APP_HOME:-./}" && pwd -P ) || exit # Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script. -DEFAULT_JVM_OPTS='"-Xmx64m" "-Xms64m"' +DEFAULT_JVM_OPTS='-Dfile.encoding=UTF-8 "-Xmx64m" "-Xms64m"' # Use the maximum available, or set MAX_FD != -1 to use that value. MAX_FD=maximum @@ -143,12 +143,16 @@ fi if ! "$cygwin" && ! "$darwin" && ! "$nonstop" ; then case $MAX_FD in #( max*) + # In POSIX sh, ulimit -H is undefined. That's why the result is checked to see if it worked. + # shellcheck disable=SC3045 MAX_FD=$( ulimit -H -n ) || warn "Could not query maximum file descriptor limit" esac case $MAX_FD in #( '' | soft) :;; #( *) + # In POSIX sh, ulimit -n is undefined. That's why the result is checked to see if it worked. + # shellcheck disable=SC3045 ulimit -n "$MAX_FD" || warn "Could not set maximum file descriptor limit to $MAX_FD" esac @@ -205,6 +209,12 @@ set -- \ org.gradle.wrapper.GradleWrapperMain \ "$@" +# Stop when "xargs" is not available. +if ! command -v xargs >/dev/null 2>&1 +then + die "xargs is not available" +fi + # Use "xargs" to parse quoted args. # # With -n1 it outputs one arg per line, with the quotes and backslashes removed. diff --git a/TP1/settings.gradle b/TP1/settings.gradle index 83bb007659a003ee48706a29e6409f505dbe2433..3c15e35af577861e10012c3bb363dc82ecbd835b 100644 --- a/TP1/settings.gradle +++ b/TP1/settings.gradle @@ -1,2 +1,2 @@ -rootProject.name = 'tp_1_test_blackbox' +rootProject.name = 'tp_1_unit_test_and_coverage' diff --git a/TP2/src/main/java/complex/Complex.java b/TP1/src/main/java/complex/Complex.java similarity index 100% rename from TP2/src/main/java/complex/Complex.java rename to TP1/src/main/java/complex/Complex.java diff --git a/TP2/src/main/java/deque/DoubleEndedQueue.java b/TP1/src/main/java/deque/DoubleEndedQueue.java similarity index 100% rename from TP2/src/main/java/deque/DoubleEndedQueue.java rename to TP1/src/main/java/deque/DoubleEndedQueue.java diff --git a/TP2/src/main/java/palindrome/Palindrome.java b/TP1/src/main/java/palindrome/Palindrome.java similarity index 100% rename from TP2/src/main/java/palindrome/Palindrome.java rename to TP1/src/main/java/palindrome/Palindrome.java diff --git a/TP2/src/main/java/partial_coverage/PartialCoverage.java b/TP1/src/main/java/partial_coverage/PartialCoverage.java similarity index 100% rename from TP2/src/main/java/partial_coverage/PartialCoverage.java rename to TP1/src/main/java/partial_coverage/PartialCoverage.java diff --git a/TP2/src/test/java/complex/ComplexTest.java b/TP1/src/test/java/complex/ComplexTest.java similarity index 100% rename from TP2/src/test/java/complex/ComplexTest.java rename to TP1/src/test/java/complex/ComplexTest.java diff --git a/TP2/src/test/java/palindrome/PalindromeTest.java b/TP1/src/test/java/palindrome/PalindromeTest.java similarity index 100% rename from TP2/src/test/java/palindrome/PalindromeTest.java rename to TP1/src/test/java/palindrome/PalindromeTest.java diff --git a/TP2/README.md b/TP2/README.md index b2db0da092b968442a46bdd798f8a249a2a29f45..0d545b08d32d31dacd63743737ec0fca56e3e883 100644 --- a/TP2/README.md +++ b/TP2/README.md @@ -1,14 +1,20 @@ -# TP 2 : tests unitaires et couverture de test +# Projet + +Modèle de projet gradle pour les tests unitaires avec mock grace à [Mockito](https://site.mockito.org/). Les commandes gradle les plus utiles : - `gradle test` pour lancer les tests (rapports dans `build/reports/tests/test`), -- `gradle jacocoTestReport` pour lancer la couverture de code via l'outil [Jacoco](https://www.eclemma.org/jacoco/) (rapport accessible en html à `build/reports/jacoco/test/html/index.html`). +- `gradle run` pour lancer le programme, +- `gradle jacocoTestReport` pour lancer la couverture de code via l'outil [Jacoco](https://www.eclemma.org/jacoco/) (rapports dans `build/reports/jacoco/test`). Le fichier `build.gradle` contient la configuration du projet avec notamment la définition de la classe contenant la méthode `main` à exécuter pour l'application. +Le projet est configuré (via le fichier `.gitlab-ci.yml`) pour produire un jar et lancer les tests sur le serveur à chaque *push*. Si la suite de tests échoue, vous recevrez un mail avec `Failed pipeline` dans l'intitulé de la part d'etulab. + ## Membre(s) du projet - NOM, prénom du premier membre du projet - NOM, prénom du deuxième membre du projet (optionnel) + diff --git a/TP2/build.gradle b/TP2/build.gradle deleted file mode 100644 index 25ec1726898bac12d2df1f420d3cc7b32bfe2fb0..0000000000000000000000000000000000000000 --- a/TP2/build.gradle +++ /dev/null @@ -1,42 +0,0 @@ -plugins { - id 'java' - id 'application' - id 'jacoco' -} - -group 'fr.univ_amu' -version '1.0-SNAPSHOT' - -repositories { - mavenCentral() -} - -dependencies { - testImplementation 'org.junit.jupiter:junit-jupiter:5.9.2' - testRuntimeOnly 'org.junit.platform:junit-platform-launcher' - testImplementation("org.assertj:assertj-core:3.24.2") -} - -test { - finalizedBy jacocoTestReport -} - -jacocoTestReport { - dependsOn test // tests are required to run before generating the report - reports { - xml.required = true - } -} - -test { - useJUnitPlatform() -} - - - - - - - - - diff --git a/TP2/build.gradle.kts b/TP2/build.gradle.kts new file mode 100644 index 0000000000000000000000000000000000000000..7649f093cdc3fd1064d180328281950c1d3e86d8 --- /dev/null +++ b/TP2/build.gradle.kts @@ -0,0 +1,43 @@ +plugins { + id("java") + id("jacoco") +} + +repositories { + mavenCentral() +} + +dependencies { + testImplementation("org.junit.jupiter:junit-jupiter-api:5.11.4") + testRuntimeOnly("org.junit.jupiter:junit-jupiter-engine:5.11.4") + testRuntimeOnly("org.junit.platform:junit-platform-launcher") + testImplementation("org.assertj:assertj-core:3.27.0") + testImplementation("org.mockito:mockito-core:5.15.2") +} + +tasks.test { + finalizedBy("jacocoTestReport") +} + +tasks.jacocoTestReport { + dependsOn("test") + reports { + xml.required = true + html.outputLocation = layout.buildDirectory.dir("jacocoHtml") + } +} + +tasks.test { + useJUnitPlatform() +} + + + + + + + + + + + diff --git a/TP2/gradle/wrapper/gradle-wrapper.properties b/TP2/gradle/wrapper/gradle-wrapper.properties index a59520664252cb0fcb9587b12a18e36e6aa70253..d6e308a63789be4633983409725715f3287f811c 100644 --- a/TP2/gradle/wrapper/gradle-wrapper.properties +++ b/TP2/gradle/wrapper/gradle-wrapper.properties @@ -1,5 +1,5 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists -distributionUrl=https\://services.gradle.org/distributions/gradle-8.5-bin.zip +distributionUrl=https\://services.gradle.org/distributions/gradle-8.12-bin.zip zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists diff --git a/TP2/settings.gradle b/TP2/settings.gradle index e349141e56e1df23a89710b4f561a6221b848d59..b5c5332ddb9fdfb0fd4966c8afdca7529afbf42a 100644 --- a/TP2/settings.gradle +++ b/TP2/settings.gradle @@ -1,2 +1,2 @@ -rootProject.name = 'tp_2_unit_test_and_coverage' +rootProject.name = 'tp_2_mocking' diff --git a/TP1/images/.gitkeep b/TP2/src/main/java/.gitkeep similarity index 100% rename from TP1/images/.gitkeep rename to TP2/src/main/java/.gitkeep diff --git a/TP3/src/main/java/.gitkeep b/TP2/src/test/java/.gitkeep similarity index 100% rename from TP3/src/main/java/.gitkeep rename to TP2/src/test/java/.gitkeep diff --git a/TP3/.gitignore b/TP3/.gitignore index 840c98321c48f07cf005ce614c00ec5b3cf565eb..917e7a67c1f5a24e14265449f95d9cd6fe3c33ac 100644 --- a/TP3/.gitignore +++ b/TP3/.gitignore @@ -1,10 +1,14 @@ -.gradle/ -.idea/ -build/**/ -*.iml -*.ipr -*.iws - +.gradle +build/ +!gradle/wrapper/gradle-wrapper.jar +!**/src/main/**/build/ +!**/src/test/**/build/ +### IntelliJ IDEA ### +.idea +### VS Code ### +.vscode/ +### Mac OS ### +.DS_Store \ No newline at end of file diff --git a/TP3/README.md b/TP3/README.md index 0d545b08d32d31dacd63743737ec0fca56e3e883..a734f553b48efec227ddf20f8842ab71fbbec6cd 100644 --- a/TP3/README.md +++ b/TP3/README.md @@ -1,20 +1,11 @@ -# Projet +# TP 1 : tests boîte noire -Modèle de projet gradle pour les tests unitaires avec mock grace à [Mockito](https://site.mockito.org/). +Les exécutables à tester sont dans le répertoire `executables`. +Les fichiers images correspondant au cas de test sont à mettre dans le répertoire `ìmages`. -Les commandes gradle les plus utiles : -- `gradle test` pour lancer les tests (rapports dans `build/reports/tests/test`), -- `gradle run` pour lancer le programme, -- `gradle jacocoTestReport` pour lancer la couverture de code via l'outil [Jacoco](https://www.eclemma.org/jacoco/) (rapports dans `build/reports/jacoco/test`). - -Le fichier `build.gradle` contient la configuration du projet avec notamment la définition de la classe contenant la méthode `main` à exécuter pour l'application. - -Le projet est configuré (via le fichier `.gitlab-ci.yml`) pour produire un jar et lancer les tests sur le serveur à chaque *push*. Si la suite de tests échoue, vous recevrez un mail avec `Failed pipeline` dans l'intitulé de la part d'etulab. - - -## Membre(s) du projet - -- NOM, prénom du premier membre du projet -- NOM, prénom du deuxième membre du projet (optionnel) +Pour lancer les tests, il suffit d'utiliser la commande : +```bash +gradle run +``` diff --git a/TP3/build.gradle b/TP3/build.gradle deleted file mode 100644 index 38e5a4efee0af8f9fbfdd4d0f7d973312a65fad6..0000000000000000000000000000000000000000 --- a/TP3/build.gradle +++ /dev/null @@ -1,43 +0,0 @@ -plugins { - id 'java' - id 'application' - id 'jacoco' -} - -group 'fr.univ_amu' -version '1.0-SNAPSHOT' - -repositories { - mavenCentral() -} - -dependencies { - testImplementation 'org.junit.jupiter:junit-jupiter:5.9.2' - testRuntimeOnly 'org.junit.platform:junit-platform-launcher' - testImplementation('org.mockito:mockito-core:5.9.0') - testImplementation("org.assertj:assertj-core:3.25.1") -} - -test { - finalizedBy jacocoTestReport -} - -jacocoTestReport { - dependsOn test // tests are required to run before generating the report - reports { - xml.required = true - } -} - -test { - useJUnitPlatform() -} - - - - - - - - - diff --git a/TP3/build.gradle.kts b/TP3/build.gradle.kts new file mode 100644 index 0000000000000000000000000000000000000000..3dde6c7d2200eeb98e67806e712ba9b2df6c54b0 --- /dev/null +++ b/TP3/build.gradle.kts @@ -0,0 +1,23 @@ +plugins { + id("java") + id("application") +} + +repositories { + mavenCentral() +} + +dependencies { + testImplementation("org.junit.jupiter:junit-jupiter-api:5.11.4") + testRuntimeOnly("org.junit.jupiter:junit-jupiter-engine:5.11.4") + testRuntimeOnly("org.junit.platform:junit-platform-launcher") + testImplementation("org.assertj:assertj-core:3.27.0") +} + +tasks.test { + useJUnitPlatform() +} + +application { + mainClass.set("BlackBox") +} \ No newline at end of file diff --git a/TP1/executables/check00exe b/TP3/executables/check00exe similarity index 100% rename from TP1/executables/check00exe rename to TP3/executables/check00exe diff --git a/TP1/executables/check01exe b/TP3/executables/check01exe similarity index 100% rename from TP1/executables/check01exe rename to TP3/executables/check01exe diff --git a/TP1/executables/check02exe b/TP3/executables/check02exe similarity index 100% rename from TP1/executables/check02exe rename to TP3/executables/check02exe diff --git a/TP1/executables/check03exe b/TP3/executables/check03exe similarity index 100% rename from TP1/executables/check03exe rename to TP3/executables/check03exe diff --git a/TP1/executables/check04exe b/TP3/executables/check04exe similarity index 100% rename from TP1/executables/check04exe rename to TP3/executables/check04exe diff --git a/TP1/executables/check05exe b/TP3/executables/check05exe similarity index 100% rename from TP1/executables/check05exe rename to TP3/executables/check05exe diff --git a/TP1/executables/check06exe b/TP3/executables/check06exe similarity index 100% rename from TP1/executables/check06exe rename to TP3/executables/check06exe diff --git a/TP1/executables/check07exe b/TP3/executables/check07exe similarity index 100% rename from TP1/executables/check07exe rename to TP3/executables/check07exe diff --git a/TP1/executables/check08exe b/TP3/executables/check08exe similarity index 100% rename from TP1/executables/check08exe rename to TP3/executables/check08exe diff --git a/TP1/executables/check09exe b/TP3/executables/check09exe similarity index 100% rename from TP1/executables/check09exe rename to TP3/executables/check09exe diff --git a/TP1/executables/check10exe b/TP3/executables/check10exe similarity index 100% rename from TP1/executables/check10exe rename to TP3/executables/check10exe diff --git a/TP1/executables/check11exe b/TP3/executables/check11exe similarity index 100% rename from TP1/executables/check11exe rename to TP3/executables/check11exe diff --git a/TP3/gradle/wrapper/gradle-wrapper.jar b/TP3/gradle/wrapper/gradle-wrapper.jar index 41d9927a4d4fb3f96a785543079b8df6723c946b..249e5832f090a2944b7473328c07c9755baa3196 100644 Binary files a/TP3/gradle/wrapper/gradle-wrapper.jar and b/TP3/gradle/wrapper/gradle-wrapper.jar differ diff --git a/TP3/gradle/wrapper/gradle-wrapper.properties b/TP3/gradle/wrapper/gradle-wrapper.properties index a59520664252cb0fcb9587b12a18e36e6aa70253..6cad6cda26cd7ba51db63aec97ff7128ec72f7c9 100644 --- a/TP3/gradle/wrapper/gradle-wrapper.properties +++ b/TP3/gradle/wrapper/gradle-wrapper.properties @@ -1,5 +1,6 @@ +#Tue Dec 05 18:16:17 CET 2023 distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists -distributionUrl=https\://services.gradle.org/distributions/gradle-8.5-bin.zip +distributionUrl=https\://services.gradle.org/distributions/gradle-8.12-bin.zip zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists diff --git a/TP3/gradlew b/TP3/gradlew index 5580fce9d759275e4bb2e072524fb732dd182d8f..1b6c787337ffb79f0e3cf8b1e9f00f680a959de1 100755 --- a/TP3/gradlew +++ b/TP3/gradlew @@ -55,7 +55,7 @@ # Darwin, MinGW, and NonStop. # # (3) This script is generated from the Groovy template -# https://github.com/gradle/gradle/blob/HEAD/subprojects/plugins/src/main/resources/org/gradle/api/internal/plugins/unixStartScript.txt +# https://github.com/gradle/gradle/blob/master/subprojects/plugins/src/main/resources/org/gradle/api/internal/plugins/unixStartScript.txt # within the Gradle project. # # You can find Gradle at https://github.com/gradle/gradle/. @@ -80,13 +80,13 @@ do esac done -# This is normally unused -# shellcheck disable=SC2034 -APP_BASE_NAME=${0##*/} APP_HOME=$( cd "${APP_HOME:-./}" && pwd -P ) || exit +APP_NAME="Gradle" +APP_BASE_NAME=${0##*/} + # Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script. -DEFAULT_JVM_OPTS='-Dfile.encoding=UTF-8 "-Xmx64m" "-Xms64m"' +DEFAULT_JVM_OPTS='"-Xmx64m" "-Xms64m"' # Use the maximum available, or set MAX_FD != -1 to use that value. MAX_FD=maximum @@ -143,16 +143,12 @@ fi if ! "$cygwin" && ! "$darwin" && ! "$nonstop" ; then case $MAX_FD in #( max*) - # In POSIX sh, ulimit -H is undefined. That's why the result is checked to see if it worked. - # shellcheck disable=SC3045 MAX_FD=$( ulimit -H -n ) || warn "Could not query maximum file descriptor limit" esac case $MAX_FD in #( '' | soft) :;; #( *) - # In POSIX sh, ulimit -n is undefined. That's why the result is checked to see if it worked. - # shellcheck disable=SC3045 ulimit -n "$MAX_FD" || warn "Could not set maximum file descriptor limit to $MAX_FD" esac @@ -209,12 +205,6 @@ set -- \ org.gradle.wrapper.GradleWrapperMain \ "$@" -# Stop when "xargs" is not available. -if ! command -v xargs >/dev/null 2>&1 -then - die "xargs is not available" -fi - # Use "xargs" to parse quoted args. # # With -n1 it outputs one arg per line, with the quotes and backslashes removed. diff --git a/TP3/src/test/java/.gitkeep b/TP3/images/.gitkeep similarity index 100% rename from TP3/src/test/java/.gitkeep rename to TP3/images/.gitkeep diff --git a/TP3/settings.gradle b/TP3/settings.gradle index 3537f06ea9687dbef31f75bf1b44abe34d7274eb..11bb3fe03fed7d6f63e74b053738c4585c06a99a 100644 --- a/TP3/settings.gradle +++ b/TP3/settings.gradle @@ -1,2 +1,2 @@ -rootProject.name = 'tp_3_mocking' +rootProject.name = 'tp_3_test_blackbox' diff --git a/TP1/src/main/java/BlackBox.java b/TP3/src/main/java/BlackBox.java similarity index 100% rename from TP1/src/main/java/BlackBox.java rename to TP3/src/main/java/BlackBox.java