Skip to content

Commit

Permalink
Update test code by applying code conventions and reflecting feedback ([
Browse files Browse the repository at this point in the history
android#1327])

Change-Id: I392a1e3ebcbc8bc30623559d97c1657e5d50fbbc
  • Loading branch information
squart300kg committed Apr 5, 2024
1 parent 5b1c704 commit 2a9fad4
Show file tree
Hide file tree
Showing 2 changed files with 24 additions and 47 deletions.
Expand Up @@ -28,6 +28,9 @@ import org.junit.Rule
import org.junit.Test
import kotlin.test.assertEquals

/**
* Unit test for [GetFollowableTopicsUseCase]
*/
class GetFollowableTopicsUseCaseTest {

@get:Rule
Expand All @@ -42,7 +45,7 @@ class GetFollowableTopicsUseCaseTest {
)

@Test
fun whenNoParams_followableTopicsAreReturnedWithNoSorting() = runTest {
fun whenSortOrderIsByNone_followableTopicsAreReturnedWithNoSorting() = runTest {
// Obtain a stream of followable topics.
val followableTopics = useCase()

Expand Down
Expand Up @@ -18,13 +18,16 @@ package com.google.samples.apps.nowinandroid.core.domain

import com.google.samples.apps.nowinandroid.core.testing.repository.TestRecentSearchRepository
import com.google.samples.apps.nowinandroid.core.testing.util.MainDispatcherRule
import kotlinx.coroutines.delay
import kotlinx.coroutines.flow.first
import kotlinx.coroutines.test.advanceUntilIdle
import kotlinx.coroutines.test.runTest
import org.junit.Rule
import org.junit.Test
import kotlin.test.assertEquals

/**
* Unit test for [GetRecentSearchQueriesUseCase]
*/
class GetRecentSearchQueriesUseCaseTest {

@get:Rule
Expand All @@ -37,65 +40,36 @@ class GetRecentSearchQueriesUseCaseTest {
)

@Test
fun whenNoParams_recentSearchQueriesAreReturnedUpTo10() = runTest {
fun whenQueryLimitIsBy10_recentSearchQueriesAreReturnedUpTo10() = runTest {
// Obtain a stream of recent search queries with no param.
val recentSearchQueries = useCase()

// insert 5 search queries.
for (index in 0 until 5) {
recentSearchRepository.insertOrReplaceRecentSearch(testRecentSearchQueries[index])
// delay for saving value
delay(10L)
// insert search queries over 10.
testRecentSearchQueries.forEach { query ->
recentSearchRepository.insertOrReplaceRecentSearch(query)
}

// Check that 5 recent search queries are ordered by latest.
// Check that the number of recent search queries are up to 10.
assertEquals(
testRecentSearchQueries.take(5).reversed(),
recentSearchQueries.first().map { it.query },
)

// insert 9 more search queries.
for (index in 5 until testRecentSearchQueries.size) {
recentSearchRepository.insertOrReplaceRecentSearch(testRecentSearchQueries[index])
// delay for saving value
delay(10L)
}

// Check that recent search queries are ordered by latest up to 10.
assertEquals(
testRecentSearchQueries.reversed().take(10),
recentSearchQueries.first().map { it.query },
10,
recentSearchQueries.first().size,
)
}

@Test
fun whenParamIsSetTo5_recentSearchQueriesAreReturnedUpTo5() = runTest {
// Obtain a stream of recent search queries with param set 5.
val recentSearchQueries = useCase(5)

// insert 2 search queries.
for (index in 0 until 2) {
recentSearchRepository.insertOrReplaceRecentSearch(testRecentSearchQueries[index])
// delay for saving value
delay(10L)
}

// Check that 5 recent search queries are ordered by latest.
assertEquals(
testRecentSearchQueries.take(2).reversed(),
recentSearchQueries.first().map { it.query },
)
fun whenReceivingRecentSearchQueries_recentSearchQueriesAreReturnedInRecentOrder() = runTest {
// Obtain a stream of recent search queries with no param.
val recentSearchQueries = useCase()

// insert 12 more search queries.
for (index in 2 until testRecentSearchQueries.size) {
recentSearchRepository.insertOrReplaceRecentSearch(testRecentSearchQueries[index])
// delay for saving value
delay(10L)
// insert search queries over 10.
testRecentSearchQueries.forEach { query ->
recentSearchRepository.insertOrReplaceRecentSearch(query)
advanceUntilIdle()
}

// Check that recent search queries are ordered by latest up to 5.
// Check that search queries is ordered in recently up to 10
assertEquals(
testRecentSearchQueries.reversed().take(5),
testRecentSearchQueries.reversed().take(10),
recentSearchQueries.first().map { it.query },
)
}
Expand Down

0 comments on commit 2a9fad4

Please sign in to comment.