diff --git a/What_The_Fantasy/app/src/main/java/com/example/what_the_fantasy/data/services/ServicesStub.kt b/What_The_Fantasy/app/src/main/java/com/example/what_the_fantasy/data/services/ServicesStub.kt index 775f535..799b8fc 100644 --- a/What_The_Fantasy/app/src/main/java/com/example/what_the_fantasy/data/services/ServicesStub.kt +++ b/What_The_Fantasy/app/src/main/java/com/example/what_the_fantasy/data/services/ServicesStub.kt @@ -108,7 +108,9 @@ class ServicesStub : IServices { val userStub = services.getAllUsers() val nbUser = userStub.size - + if(username == "" || email == "" || passwd == ""){ + return false + } if(!isUsernameExist(username) && !isEmailExist(email)){ val user = User(nbUser,username, email, date,randomImage(), passwordhash, SrcLanguage.vo) users.add(user)//ajout au stub @@ -142,15 +144,18 @@ class ServicesStub : IServices { override fun getSomeQuotes(nb: Int, page: Int): MutableList { var nbQuote = nb + var nbPage = page if(nb < 0) nbQuote = 1 + if(nbPage < 0) nbPage = 1 - val fromIndex = (page - 1) * nbQuote - val toIndex = minOf(page * nbQuote, quotes.size) + val fromIndex = (nbPage - 1) * nbQuote + val toIndex = minOf(nbPage * nbQuote, quotes.size) if (fromIndex >= quotes.size) return mutableListOf() return quotes.subList(fromIndex, toIndex).toMutableList() } + override fun isFavorite(idQuote: Int, idUser: Int): Boolean { val user = getUserById(idUser) ?: return false val quote = getFavorite(user) diff --git a/What_The_Fantasy/app/src/test/java/com/example/what_the_fantasy/UnitTestQuote.kt b/What_The_Fantasy/app/src/test/java/com/example/what_the_fantasy/UnitTestQuote.kt index 5d00730..db5b078 100644 --- a/What_The_Fantasy/app/src/test/java/com/example/what_the_fantasy/UnitTestQuote.kt +++ b/What_The_Fantasy/app/src/test/java/com/example/what_the_fantasy/UnitTestQuote.kt @@ -4,16 +4,24 @@ import org.junit.Assert.assertEquals import org.junit.Test import com.example.what_the_fantasy.data.services.IServices import com.example.what_the_fantasy.data.services.ServicesStub +import org.junit.Assert.assertFalse +import org.junit.Assert.assertTrue class UnitTestQuote { private val services : IServices = ServicesStub() @Test - fun testGetQuote(){ + fun testGetQuote_OK(){ val quote = services.getQuote(1) assertEquals("All we have to decide is what to do with the time that is given us.",quote?.content) } + @Test + fun testGetQuote_Fake(){ + val quote = services.getQuote(-1) + assertEquals(null,quote?.content) + } + @Test fun testGetSomeQuote_OK(){ val quote = services.getSomeQuotes(4,1) @@ -21,13 +29,19 @@ class UnitTestQuote { } @Test - fun testGetSomeQuoteNegatif(){ + fun testGetSomeQuoteIndexNegatif(){ val quote = services.getSomeQuotes(-1,1) assertEquals(1,quote.size) } @Test - fun testGetSomeQuote0(){ + fun testGetSomeQuotePageNegatif(){ + val quote = services.getSomeQuotes(1,-1) + assertEquals(1,quote.size) + } + + @Test + fun testGetSomeQuoteIndex0(){ val quote = services.getSomeQuotes(0,1) assertEquals(0,quote.size) } @@ -126,5 +140,22 @@ class UnitTestQuote { assertEquals(0,quote.size) } + @Test + fun testIsFavorite_OK(){ + + assertTrue(services.isFavorite(1,10)) + } + @Test + fun testIsFavorite_FakeQuote(){ + assertFalse(services.isFavorite(-1,10)) + } + + @Test + fun testIsFavorite_FakeUser(){ + assertFalse(services.isFavorite(1,-1)) + } + + + } \ No newline at end of file diff --git a/What_The_Fantasy/app/src/test/java/com/example/what_the_fantasy/UnitTestUser.kt b/What_The_Fantasy/app/src/test/java/com/example/what_the_fantasy/UnitTestUser.kt index 1bcf454..7895171 100644 --- a/What_The_Fantasy/app/src/test/java/com/example/what_the_fantasy/UnitTestUser.kt +++ b/What_The_Fantasy/app/src/test/java/com/example/what_the_fantasy/UnitTestUser.kt @@ -34,6 +34,23 @@ class UnitTestUser { ) } + @Test + fun testCreateUserEmptyUsername(){ + assertFalse(services.CreateUser("", "email", "passwd") + ) + } + @Test + fun testCreateUserEmptyEmail(){ + assertFalse(services.CreateUser("usernameEmptyEmail", "", "passwd") + ) + } + + @Test + fun testCreateUserEmptyPassword(){ + assertFalse(services.CreateUser("usernameEmptyPassword", "email", "") + ) + } + @Test fun testUserEditUsername_OK(){ services.CreateUser("username4", "email4", "passwd")