Ajout de nouveaux fichiers de test et suppression de fichiers obsolètes

This commit is contained in:
2025-03-07 21:53:09 +01:00
parent ca42e51636
commit f1f378d68d
202 changed files with 0 additions and 1163 deletions

File diff suppressed because it is too large Load Diff

Binary file not shown.

Binary file not shown.

Binary file not shown.

View File

@@ -1,7 +0,0 @@
all: test1 Devinette
test1: test1.java
javac test1.java
Devinette: Devinette.java
javac Devinette.java

View File

@@ -1,36 +0,0 @@
import java.util.Scanner;
import java.util.Random;
public class Devinette {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
Random random = new Random();
int nombreMystere = random.nextInt(100) + 1; // Nombre entre 1 et 100
int essais = 5;
boolean gagne = false;
System.out.println("Bienvenue dans le jeu de devinette !");
System.out.println("Essayez de deviner le nombre mystère entre 1 et 100. Vous avez " + essais + " tentatives.");
for (int i = 0; i < essais; i++) {
System.out.print("Entrez votre tentative : ");
int tentative = scanner.nextInt();
if (tentative == nombreMystere) {
System.out.println("Bravo ! Vous avez trouvé le nombre mystère.");
gagne = true;
break;
} else if (tentative < nombreMystere) {
System.out.println("Trop bas ! Essayez encore.");
} else {
System.out.println("Trop haut ! Essayez encore.");
}
}
if (!gagne) {
System.out.println("Dommage ! Le nombre mystère était : " + nombreMystere);
}
scanner.close();
}
}

View File

@@ -1,6 +0,0 @@
public class test1 {
public static void main(String[] args) {
System.out.println("Compilation à partir de rien !");
}
}

View File

@@ -1,36 +0,0 @@
import java.util.Scanner;
import java.util.Random;
public class Devinette {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
Random random = new Random();
int nombreMystere = random.nextInt(100) + 1; // Nombre entre 1 et 100
int essais = 5;
boolean gagne = false;
System.out.println("Bienvenue dans le jeu de devinette !");
System.out.println("Essayez de deviner le nombre mystère entre 1 et 100. Vous avez " + essais + " tentatives.");
for (int i = 0; i < essais; i++) {
System.out.print("Entrez votre tentative : ");
int tentative = scanner.nextInt();
if (tentative == nombreMystere) {
System.out.println("Bravo ! Vous avez trouvé le nombre mystère.");
gagne = true;
break;
} else if (tentative < nombreMystere) {
System.out.println("Trop bas ! Essayez encore.");
} else {
System.out.println("Trop haut ! Essayez encore.");
}
}
if (!gagne) {
System.out.println("Dommage ! Le nombre mystère était : " + nombreMystere);
}
scanner.close();
}
}

View File

@@ -1,7 +0,0 @@
all: test1 Devinette
test1: test1.java
javac test1.java
Devinette: Devinette.java
javac Devinette.java

View File

@@ -1,6 +0,0 @@
public class test1 {
public static void main(String[] args) {
System.out.println("Compilation à partir de rien !");
}
}

View File

@@ -1,31 +0,0 @@
# Test 2 : Compilation où le résultat existe déjà
## Description
Ce test vérifie que si l'exécutable `Main.class` est déjà présent et que `Main.java`
n'a pas été modifié, alors `Bake` ne tente pas de recompiler.
## Fichiers utilisés
- `Main.java` : Fichier source inchangé.
- `Bakefile` : Contient les règles de compilation.
- `Main.class` : Fichier compilé déjà généré.
## Étapes du test
1. **Première compilation**
- Exécuter `bake` pour compiler le programme.
- Vérifier que `Main.class` est bien créé.
2. **Vérification de l'absence de recompilation**
- Exécuter `bake` une seconde fois **sans modifier** `Main.java`.
- Aucun message indiquant la recompilation ne doit apparaître.
3. **Modification du fichier source**
- Modifier `Main.java` en ajoutant une ligne de code.
- Exécuter `bake` à nouveau.
- Cette fois, `bake` doit détecter la modification et recompiler `Main.java`.
## Résultat attendu
- Si `Main.class` existe et que `Main.java` n'a pas été modifié, **`Bake` ne doit pas recompiler.**
- Si `Main.java` est modifié, `Bake` doit **uniquement** recompiler ce fichier.
**Si `bake` évite de recompiler sans raison et ne recompile que lorsque cest nécessaire, alors le test est réussi !** 🚀

View File

@@ -1,6 +0,0 @@
# Bakefile
Main.class: Main.java
javac Main.java
all: Main.class

View File

@@ -1,6 +0,0 @@
public class Main {
public static void main(String[] args) {
System.out.println("Ceci est un programme de test du Bakefile !");
System.out.println("test");
}
}

View File

@@ -1,6 +0,0 @@
public class Main {
public static void main(String[] args) {
System.out.println("Ceci est un programme de test du Bakefile !");
System.out.println("test");
}
}

View File

@@ -1,6 +0,0 @@
# Makefile
Main.class: Main.java
javac Main.java
all: Main.class

View File

@@ -1,11 +0,0 @@
main: ClasseA ClasseB ClasseC Main.java
javac Main.java
ClasseA: ClasseB
javac ClasseA.java
ClasseB: ClasseA
javac ClasseB.java
ClasseC: ClasseB ClasseA
javac ClasseC.java

View File

@@ -1,7 +0,0 @@
public class ClasseA {
private ClasseB b;
public ClasseA(ClasseB b) {
this.b = b;
}
}

View File

@@ -1,7 +0,0 @@
public class ClasseB {
private ClasseA a;
public ClasseB(ClasseA a) {
this.a = a;
}
}

View File

@@ -1,9 +0,0 @@
public class ClasseC {
private ClasseA a;
private ClasseB b;
public ClasseC(ClasseA a, ClasseB b) {
this.a = a;
this.b = b;
}
}

View File

@@ -1,16 +0,0 @@
public class Main {
private ClasseA a;
private ClasseB b;
private ClasseC c;
public Main() {
this.a = new ClasseA(b);
this.b = new ClasseB(a);
this.c = new ClasseC(a,b);
}
public static void main(String[] args) {
Main m = new Main();
System.out.println("Ceci est un test de dépendences circulaires");
}
}

View File

@@ -1,7 +0,0 @@
public class ClasseA {
private ClasseB b;
public ClasseA(ClasseB b) {
this.b = b;
}
}

View File

@@ -1,7 +0,0 @@
public class ClasseB {
private ClasseA a;
public ClasseB(ClasseA a) {
this.a = a;
}
}

View File

@@ -1,9 +0,0 @@
public class ClasseC {
private ClasseA a;
private ClasseB b;
public ClasseC(ClasseA a, ClasseB b) {
this.a = a;
this.b = b;
}
}

View File

@@ -1,16 +0,0 @@
public class Main {
private ClasseA a;
private ClasseB b;
private ClasseC c;
public Main() {
this.a = new ClasseA(b);
this.b = new ClasseB(a);
this.c = new ClasseC(a,b);
}
public static void main(String[] args) {
Main m = new Main();
System.out.println("Ceci est un test de dépendences circulaires");
}
}

View File

@@ -1,11 +0,0 @@
main: ClasseA ClasseB ClasseC Main.java
javac Main.java
ClasseA: ClasseB
javac ClasseA.java
ClasseB: ClasseA
javac ClasseB.java
ClasseC: ClasseB ClasseA
javac ClasseC.java

View File

@@ -1,108 +0,0 @@
# Test 4 : Compilation où le résultat existe déjà OU est modifier
## 📌 Description
Ce test vérifie que si lexécutable `Main.class` est déjà présent et que `Main.java`
n'a pas été modifié, alors `bake` ne doit **pas recompiler** inutilement.
Cela permet doptimiser la compilation en évitant de perdre du temps et des ressources
à recompiler des fichiers inchangés, comme `make` en C.
---
## 📂 **Fichiers utilisés**
- **`Main.java`** : Fichier source contenant le programme principal.
- **`Bakefile`** : Contient les règles de compilation.
- **`Main.class`** : Fichier compilé qui doit exister avant le test.
---
## ✅ **Résultat attendu**
1**Première exécution de `bake`**
- Si `Main.class` **nexiste pas**, `bake` doit **compiler** `Main.java`.
- **Commande exécutée :**
```sh
javac Main.java
```
- `Main.class` est généré.
2⃣ **Seconde exécution de `bake` sans modification**
- Si `Main.class` est **déjà à jour**, `bake` **ne doit rien faire**.
- **Aucune commande `javac` ne doit être exécutée**.
3⃣ **Modification de `Main.java` et recompilation**
- Si `Main.java` est **modifié**, `bake` doit **détecter le changement** et
recompiler uniquement `Main.java`.
- **Commande exécutée :**
```sh
javac Main.java
```
---
## 🔬 **Procédure de test**
### **1⃣ Étape 1 : Compilation initiale**
1. Supprimer `Main.class` sil existe déjà :
```sh
rm -f Main.class
```
2. Exécuter `bake` :
```sh
java -cp bakefile.jar fr.monlouyan.bakefile.Main
javac Main.java
```
3. **Attendu** :
- `bake` doit exécuter `javac Main.java` et créer `Main.class`.
### **2⃣ Étape 2 : Vérification sans modification**
1. Exécuter `bake` une seconde fois :
```sh
java -cp bakefile.jar fr.monlouyan.bakefile.Main
javac Main.java
```
2. **Attendu** :
- **Aucune recompilation** ne doit avoir lieu.
- `bake` **ne doit afficher aucun message de compilation**.
### **3⃣ Étape 3 : Modifier `Main.java`**
1. Modifier `Main.java`, par exemple en ajoutant une ligne :
```java
System.out.println("Nouvelle ligne ajoutée !");
```
2. Exécuter `bake` :
```sh
java -cp bakefile.jar fr.monlouyan.bakefile.Main
javac Main.java
```
3. **Attendu** :
- `bake` détecte la modification et exécute `javac Main.java`.
- `Main.class` est mis à jour.
---
## 🛠 **Fichier `Bakefile` utilisé**
```make
# Bakefile
Main.class: Main.java
javac Main.java
all: Main.class
```
➡ Ce `Bakefile` garantit que `bake` **ne recompile `Main.java` que si nécessaire**.
---
## 🎯 **Validation du test**
| Situation | Comportement attendu |
|-----------|----------------------|
| **Première compilation (`bake`)** | `javac Main.java` est exécuté ✅ |
| **Seconde exécution sans modification (`bake`)** | **Aucune recompilation** ✅ |
| **Modification de `Main.java`** | `javac Main.java` est exécuté à nouveau ✅ |
---
## 📌 **Conclusion**
- Si `bake` **ne recompile pas sans raison** et ne recompile `Main.java` **que si modifié**, alors **le test est réussi !** ✅
- Cela assure une **optimisation de la compilation** et empêche le gaspillage de ressources.
🚀 **Lance le test et vérifie que `bake` fonctionne correctement !**

View File

@@ -1,4 +0,0 @@
Main.class: Main.java
javac Main.java
all: Main.class

Some files were not shown because too many files have changed in this diff Show More