Modification des tests et ajout de tests pertinents

This commit is contained in:
Feror 2025-01-23 10:57:19 +01:00
parent 95a9a0cd9f
commit 28efe6c3c0
5 changed files with 92 additions and 8 deletions

BIN
carApp/.DS_Store vendored

Binary file not shown.

BIN
carApp/src/.DS_Store vendored

Binary file not shown.

View file

@ -1,14 +1,25 @@
import org.junit.jupiter.api.BeforeEach;
import org.junit.jupiter.api.AfterEach;
import org.junit.jupiter.api.Test;
import static org.assertj.core.api.Assertions.assertThat;
import java.io.ByteArrayOutputStream;
import java.io.PrintStream;
public class ConducteurTest {
private Conducteur conducteur;
private final ByteArrayOutputStream outContent = new ByteArrayOutputStream();
private final PrintStream originalOut = System.out;
@BeforeEach
public void setUp() {
conducteur = new Conducteur("John", 20);
System.setOut(new PrintStream(outContent));
}
@AfterEach
public void restoreStreams() {
System.setOut(originalOut);
}
@Test
@ -20,21 +31,28 @@ public class ConducteurTest {
public void testDemarrerVoiture() {
Voiture voiture = new Voiture("Sedan", "Bleu");
conducteur.demarrerVoiture(voiture);
// How to assert that the demarrerVoiture method was called?
assertThat(outContent.toString().trim()).isEqualTo("John démarre la voiture.");
}
@Test
public void testArreterVoiture() {
Voiture voiture = new Voiture("Sedan", "Bleu");
conducteur.arreterVoiture(voiture);
// How to assert that the arreterVoiture method was called?
assertThat(outContent.toString().trim()).isEqualTo("John arrête la voiture.");
}
@Test
public void testChangerVitesse() {
Voiture voiture = new Voiture("Sedan", "Bleu");
conducteur.changerVitesse(voiture, 80);
assertThat(voiture.getVitesse()).isEqualTo(80);
}
@Test
public void testChangerVitesseToSame() {
Voiture voiture = new Voiture("Sedan", "Bleu");
voiture.accelerer();
conducteur.changerVitesse(voiture, 10);
assertThat(voiture.getVitesse()).isEqualTo(10);
}
}

View file

@ -1,11 +1,61 @@
import org.junit.jupiter.api.Test;
import java.io.ByteArrayOutputStream;
import java.io.PrintStream;
import static org.assertj.core.api.Assertions.assertThat;
public class VoitureAppTest {
@Test
public void testMain() {
// How to assert the output using AssertJ for console output?
// Note: Testing console output is often more complex and depends on additional libraries.
ByteArrayOutputStream outContent = new ByteArrayOutputStream();
System.setOut(new PrintStream(outContent));
Application.main(new String[]{});
String expectedOutput = "John démarre la voiture.\n" +
"Modèle : Sedan\n" +
"Couleur : Bleu\n" +
"Vitesse actuelle : 10\n" +
"John change la vitesse de la voiture à 80\n" +
"Modèle : Sedan\n" +
"Couleur : Bleu\n" +
"Vitesse actuelle : 20\n" +
"Modèle : Sedan\n" +
"Couleur : Bleu\n" +
"Vitesse actuelle : 30\n" +
"Modèle : Sedan\n" +
"Couleur : Bleu\n" +
"Vitesse actuelle : 40\n" +
"Modèle : Sedan\n" +
"Couleur : Bleu\n" +
"Vitesse actuelle : 50\n" +
"Modèle : Sedan\n" +
"Couleur : Bleu\n" +
"Vitesse actuelle : 60\n" +
"Modèle : Sedan\n" +
"Couleur : Bleu\n" +
"Vitesse actuelle : 70\n" +
"Modèle : Sedan\n" +
"Couleur : Bleu\n" +
"Vitesse actuelle : 80\n" +
"Modèle : Sedan\n" +
"Couleur : Bleu\n" +
"Vitesse actuelle : 70\n" +
"John change la vitesse de la voiture à 30\n" +
"Modèle : Sedan\n" +
"Couleur : Bleu\n" +
"Vitesse actuelle : 60\n" +
"Modèle : Sedan\n" +
"Couleur : Bleu\n" +
"Vitesse actuelle : 50\n" +
"Modèle : Sedan\n" +
"Couleur : Bleu\n" +
"Vitesse actuelle : 40\n" +
"Modèle : Sedan\n" +
"Couleur : Bleu\n" +
"Vitesse actuelle : 30\n" +
"John arrête la voiture.\n" +
"fini";
assertThat(outContent.toString().trim()).isEqualTo(expectedOutput);
}
}

View file

@ -23,4 +23,20 @@ public class VoitureTest {
voiture.ralentir();
assertThat(voiture.getVitesse()).isEqualTo(0);
}
@Test
public void testAccelererToMax() {
for (int i = 0; i < 12; i++) {
voiture.accelerer();
}
assertThat(voiture.getVitesse()).isEqualTo(120);
}
@Test
public void testRalentirToMin() {
voiture.accelerer();
voiture.ralentir();
voiture.ralentir();
assertThat(voiture.getVitesse()).isEqualTo(0);
}
}