From 54baae7303f85bb15e6f52eeae934f6a54fdcb48 Mon Sep 17 00:00:00 2001 From: "renaud.beuret" Date: Tue, 2 Apr 2024 22:43:32 +0200 Subject: [PATCH] =?UTF-8?q?[ADD]=20Test=20jouer=202=20fois=20m=C3=AAme=20a?= =?UTF-8?q?ction?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../pendu/PenduJouerAction2FoisTest.kt | 57 +++++++++++++++++++ .../viewModel/pendu/PenduJouerActionTest.kt | 3 +- 2 files changed, 59 insertions(+), 1 deletion(-) create mode 100644 android/app/src/test/java/fr/iut/sciencequest/viewModel/pendu/PenduJouerAction2FoisTest.kt diff --git a/android/app/src/test/java/fr/iut/sciencequest/viewModel/pendu/PenduJouerAction2FoisTest.kt b/android/app/src/test/java/fr/iut/sciencequest/viewModel/pendu/PenduJouerAction2FoisTest.kt new file mode 100644 index 0000000..3a8059e --- /dev/null +++ b/android/app/src/test/java/fr/iut/sciencequest/viewModel/pendu/PenduJouerAction2FoisTest.kt @@ -0,0 +1,57 @@ +package fr.iut.sciencequest.viewModel.pendu + +import fr.iut.sciencequest.model.dto.extensions.ToModel +import fr.iut.sciencequest.model.repositories.scientifique.ScientifiqueStubRepostory +import fr.iut.sciencequest.stub.StubScientifique1 +import fr.iut.sciencequest.testRules.MainDispatcherRule +import fr.iut.sciencequest.viewModels.PenduViewModel +import org.junit.Assert +import org.junit.Rule +import org.junit.Test +import org.junit.runner.RunWith +import org.junit.runners.Parameterized +import kotlin.math.exp + +@RunWith(Parameterized::class) +class PenduJouerAction2FoisTest( + private val playedLetter: Char, + private val expectedLetter: Char, + private val expectedVieRestante: Int, + private val expectedResult: Boolean +){ + + @get:Rule + val mainDispatcherRule = MainDispatcherRule() + + @Test + fun Test() { + val scientifique = StubScientifique1.ToModel() + val repo = ScientifiqueStubRepostory() + repo.setScientifiqueStub(scientifique) + val vm = PenduViewModel(repo) + vm.InitPartie() + vm.PlayAction(playedLetter) + Assert.assertEquals(expectedResult, vm.uiState.value.motATrou.contains(expectedLetter)) + Assert.assertEquals(true, vm.uiState.value.isActionGood) + vm.PlayAction(playedLetter) + Assert.assertEquals(expectedResult, vm.uiState.value.motATrou.contains(expectedLetter)) + Assert.assertEquals(false, vm.uiState.value.isActionGood) + Assert.assertEquals(expectedVieRestante,vm.uiState.value.nbViesRestantes) + } + + companion object { + @JvmStatic + @Parameterized.Parameters( + name = "Quand joueur joue 2 fois {0}, le jeu est censé trouvé que {1} est {3} et il lui reste {2} " + ) + fun getTestActionData(): Iterable> { + return arrayListOf( + arrayOf('e','e',10,true), + arrayOf('q','q',9,false), + arrayOf('E','e',10,true), + arrayOf('j','J',10,true), + arrayOf('J','J',10,true), + ) + } + } +} \ No newline at end of file diff --git a/android/app/src/test/java/fr/iut/sciencequest/viewModel/pendu/PenduJouerActionTest.kt b/android/app/src/test/java/fr/iut/sciencequest/viewModel/pendu/PenduJouerActionTest.kt index 10d6120..84589e0 100644 --- a/android/app/src/test/java/fr/iut/sciencequest/viewModel/pendu/PenduJouerActionTest.kt +++ b/android/app/src/test/java/fr/iut/sciencequest/viewModel/pendu/PenduJouerActionTest.kt @@ -31,13 +31,14 @@ class PenduJouerActionTest ( vm.InitPartie() vm.PlayAction(playedLetter) Assert.assertEquals(expectedResult, vm.uiState.value.motATrou.contains(expectedLetter)) + Assert.assertEquals(true, vm.uiState.value.isActionGood) Assert.assertEquals(expectedVieRestante, vm.uiState.value.nbViesRestantes) } companion object { @JvmStatic @Parameterized.Parameters( - name = "Quand joueur joue {0}, le jeu est censé trouvé que {1} est {2} " + name = "Quand joueur joue {0}, le jeu est censé trouvé que {1} est {3} et il lui reste {2} " ) fun getTestActionData(): Iterable> { return arrayListOf(