[ADD] Test InitPartie et PutGood/WrongLetter

Android
Renaud BEURET 1 year ago
parent b3665cc7f8
commit 9464dfb879

@ -66,6 +66,7 @@ dependencies {
implementation("androidx.compose.ui:ui-tooling-preview")
implementation("androidx.compose.material3:material3")
implementation(platform("androidx.compose:compose-bom:2023.08.00"))
testImplementation("org.jetbrains.kotlinx:kotlinx-coroutines-test:1.7.3")
testImplementation("junit:junit:4.13.2")
androidTestImplementation("androidx.test.ext:junit:1.1.5")
androidTestImplementation("androidx.test.espresso:espresso-core:3.5.1")

@ -0,0 +1,53 @@
package fr.iut.sciencequest.viewModel
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
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
val mainDispatcherRule = MainDispatcherRule()
@Test
fun TestInitPartie() {
val scientifique = StubScientifique1.ToModel()
val repo = ScientifiqueStubRepostory()
repo.setScientifiqueStub(scientifique)
val vm = PenduViewModel(repo)
vm.InitPartie()
val nomPrenom = scientifique.prenom + " " + scientifique.nom
Assert.assertEquals(nomPrenom.length, vm.uiState.value.motATrou.length)
val trou = nomPrenom.replace(regex = Regex("[A-Za-z]"),"_")
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 TestWrongActionDoesNotPutLetter() {
val scientifique = StubScientifique1.ToModel()
val repo = ScientifiqueStubRepostory()
repo.setScientifiqueStub(scientifique)
val vm = PenduViewModel(repo)
vm.InitPartie()
vm.PlayAction('q')
Assert.assertEquals(false, vm.uiState.value.motATrou.contains('e'))
}
}
Loading…
Cancel
Save