diff --git a/.idea/modules.xml b/.idea/modules.xml new file mode 100644 index 0000000..c5871cc --- /dev/null +++ b/.idea/modules.xml @@ -0,0 +1,8 @@ + + + + + + + + \ 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 new file mode 100644 index 0000000..10d6120 --- /dev/null +++ b/android/app/src/test/java/fr/iut/sciencequest/viewModel/pendu/PenduJouerActionTest.kt @@ -0,0 +1,52 @@ +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 + +@RunWith(Parameterized::class) +class PenduJouerActionTest ( + private val playedLetter: Char, + private val expectedLetter: Char, + private val expectedVieRestante: Int, + private val expectedResult: Boolean +){ + + @get:Rule + val mainDispatcherRule = MainDispatcherRule() + + @Test + fun TestGoodActionPutsLetter() { + 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(expectedVieRestante, vm.uiState.value.nbViesRestantes) + } + + companion object { + @JvmStatic + @Parameterized.Parameters( + name = "Quand joueur joue {0}, le jeu est censé trouvé que {1} est {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/PenduViewModelTest.kt b/android/app/src/test/java/fr/iut/sciencequest/viewModel/pendu/PenduViewModelTest.kt similarity index 52% rename from android/app/src/test/java/fr/iut/sciencequest/viewModel/PenduViewModelTest.kt rename to android/app/src/test/java/fr/iut/sciencequest/viewModel/pendu/PenduViewModelTest.kt index fbcdba7..dd76c6b 100644 --- a/android/app/src/test/java/fr/iut/sciencequest/viewModel/PenduViewModelTest.kt +++ b/android/app/src/test/java/fr/iut/sciencequest/viewModel/pendu/PenduViewModelTest.kt @@ -1,7 +1,6 @@ -package fr.iut.sciencequest.viewModel +package fr.iut.sciencequest.viewModel.pendu import fr.iut.sciencequest.model.dto.extensions.ToModel -import fr.iut.sciencequest.model.metier.Scientifique import fr.iut.sciencequest.model.repositories.scientifique.ScientifiqueStubRepostory import fr.iut.sciencequest.stub.StubScientifique1 import fr.iut.sciencequest.testRules.MainDispatcherRule @@ -9,8 +8,6 @@ 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 class PenduViewModelTest { @get:Rule @@ -29,17 +26,6 @@ class PenduViewModelTest { Assert.assertEquals(trou, vm.uiState.value.motATrou) } - @Test - fun TestGoodActionPutsLetter() { - val scientifique = StubScientifique1.ToModel() - val repo = ScientifiqueStubRepostory() - repo.setScientifiqueStub(scientifique) - val vm = PenduViewModel(repo) - vm.InitPartie() - vm.PlayAction('e') - Assert.assertEquals(true, vm.uiState.value.motATrou.contains('e')) - } - @Test fun TestWrongActionDoesNotPutLetterAndDamage() { val scientifique = StubScientifique1.ToModel() @@ -51,26 +37,4 @@ class PenduViewModelTest { Assert.assertEquals(false, vm.uiState.value.motATrou.contains('q')) Assert.assertEquals(9,vm.uiState.value.nbViesRestantes) } - - @Test - fun TestGoodActionWithUppercaseLetter() { - val scientifique = StubScientifique1.ToModel() - val repo = ScientifiqueStubRepostory() - repo.setScientifiqueStub(scientifique) - val vm = PenduViewModel(repo) - vm.InitPartie() - vm.PlayAction('E') - Assert.assertEquals(true, vm.uiState.value.motATrou.contains('e')) - } - - @Test - fun TestGoodActionWithLowercaseOnOriginalyUppercase() { - val scientifique = StubScientifique1.ToModel() - val repo = ScientifiqueStubRepostory() - repo.setScientifiqueStub(scientifique) - val vm = PenduViewModel(repo) - vm.InitPartie() - vm.PlayAction('j') - Assert.assertEquals(true, vm.uiState.value.motATrou.contains('j')) - } } \ No newline at end of file