diff --git a/carApp/.DS_Store b/carApp/.DS_Store index af840f0..02230d9 100644 Binary files a/carApp/.DS_Store and b/carApp/.DS_Store differ diff --git a/carApp/src/.DS_Store b/carApp/src/.DS_Store index 149fcec..ce8b391 100644 Binary files a/carApp/src/.DS_Store and b/carApp/src/.DS_Store differ diff --git a/carApp/src/test/java/ConducteurTest.java b/carApp/src/test/java/ConducteurTest.java index 5aa7438..66c658d 100644 --- a/carApp/src/test/java/ConducteurTest.java +++ b/carApp/src/test/java/ConducteurTest.java @@ -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); + } +} \ No newline at end of file diff --git a/carApp/src/test/java/VoitureAppTest.java b/carApp/src/test/java/VoitureAppTest.java index ea48899..b7d5c1c 100644 --- a/carApp/src/test/java/VoitureAppTest.java +++ b/carApp/src/test/java/VoitureAppTest.java @@ -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); } -} +} \ No newline at end of file diff --git a/carApp/src/test/java/VoitureTest.java b/carApp/src/test/java/VoitureTest.java index 1a37a04..bfee025 100644 --- a/carApp/src/test/java/VoitureTest.java +++ b/carApp/src/test/java/VoitureTest.java @@ -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); + } +} \ No newline at end of file