Remove usage of Random in testFixtures to prevent flakiness

It has benefits:
- Scoping the function
- Can generates a range of different values
- Sometimes help finding unsupported value

But some drawbacks as well:
- flakiness
- not necessarily easy to reproduce (inputs might not be displayed from the test output) unless we control the Random `seed`
pull/452/head
Simon Marquis 3 years ago
parent f6b8259238
commit 601845d363

@ -18,11 +18,10 @@ package com.google.samples.apps.nowinandroid.core.domain
import com.google.samples.apps.nowinandroid.core.domain.TopicSortField.NAME
import com.google.samples.apps.nowinandroid.core.domain.model.FollowableTopic
import com.google.samples.apps.nowinandroid.core.model.data.nextFakeTopic
import com.google.samples.apps.nowinandroid.core.model.data.fakeTopic
import com.google.samples.apps.nowinandroid.core.testing.repository.TestTopicsRepository
import com.google.samples.apps.nowinandroid.core.testing.repository.TestUserDataRepository
import com.google.samples.apps.nowinandroid.core.testing.util.MainDispatcherRule
import kotlin.random.Random
import kotlin.test.assertEquals
import kotlinx.coroutines.flow.first
import kotlinx.coroutines.test.runTest
@ -88,7 +87,7 @@ class GetFollowableTopicsStreamUseCaseTest {
}
private val testTopics = listOf(
Random.nextFakeTopic(id = "1", name = "Headlines"),
Random.nextFakeTopic(id = "2", name = "Android Studio"),
Random.nextFakeTopic(id = "3", name = "Compose"),
fakeTopic(id = "1", name = "Headlines"),
fakeTopic(id = "2", name = "Android Studio"),
fakeTopic(id = "3", name = "Compose"),
)

@ -17,13 +17,12 @@
package com.google.samples.apps.nowinandroid.core.domain
import com.google.samples.apps.nowinandroid.core.domain.model.SaveableNewsResource
import com.google.samples.apps.nowinandroid.core.model.data.nextFakeAuthor
import com.google.samples.apps.nowinandroid.core.model.data.nextFakeNewsResource
import com.google.samples.apps.nowinandroid.core.model.data.nextFakeTopic
import com.google.samples.apps.nowinandroid.core.model.data.fakeAuthor
import com.google.samples.apps.nowinandroid.core.model.data.fakeNewsResource
import com.google.samples.apps.nowinandroid.core.model.data.fakeTopic
import com.google.samples.apps.nowinandroid.core.testing.repository.TestNewsRepository
import com.google.samples.apps.nowinandroid.core.testing.repository.TestUserDataRepository
import com.google.samples.apps.nowinandroid.core.testing.util.MainDispatcherRule
import kotlin.random.Random
import kotlin.test.assertEquals
import kotlinx.coroutines.flow.first
import kotlinx.coroutines.test.runTest
@ -124,23 +123,23 @@ class GetSaveableNewsResourcesStreamUseCaseTest {
}
}
private val sampleTopic1 = Random.nextFakeTopic(id = "1", name = "Headlines")
private val sampleTopic2 = Random.nextFakeTopic(id = "2", name = "UI")
private val sampleAuthor1 = Random.nextFakeAuthor(id = "1")
private val sampleAuthor2 = Random.nextFakeAuthor(id = "2")
private val sampleTopic1 = fakeTopic(id = "1", name = "Headlines")
private val sampleTopic2 = fakeTopic(id = "2", name = "UI")
private val sampleAuthor1 = fakeAuthor(id = "1")
private val sampleAuthor2 = fakeAuthor(id = "2")
private val sampleNewsResources = listOf(
Random.nextFakeNewsResource(
fakeNewsResource(
id = "1",
authors = listOf(sampleAuthor1),
topics = listOf(sampleTopic1)
),
Random.nextFakeNewsResource(
fakeNewsResource(
id = "2",
authors = listOf(sampleAuthor1),
topics = listOf(sampleTopic1, sampleTopic2)
),
Random.nextFakeNewsResource(
fakeNewsResource(
id = "3",
authors = listOf(sampleAuthor2),
topics = listOf(sampleTopic2)

@ -17,11 +17,10 @@
package com.google.samples.apps.nowinandroid.core.domain
import com.google.samples.apps.nowinandroid.core.domain.model.FollowableAuthor
import com.google.samples.apps.nowinandroid.core.model.data.nextFakeAuthor
import com.google.samples.apps.nowinandroid.core.model.data.fakeAuthor
import com.google.samples.apps.nowinandroid.core.testing.repository.TestAuthorsRepository
import com.google.samples.apps.nowinandroid.core.testing.repository.TestUserDataRepository
import com.google.samples.apps.nowinandroid.core.testing.util.MainDispatcherRule
import kotlin.random.Random
import kotlin.test.assertEquals
import kotlinx.coroutines.flow.first
import kotlinx.coroutines.test.runTest
@ -65,8 +64,8 @@ class GetSortedFollowableAuthorsStreamUseCaseTest {
}
}
private val sampleAuthor1 = Random.nextFakeAuthor(id = "1", name = "Mandy")
private val sampleAuthor2 = Random.nextFakeAuthor(id = "2", name = "Andy")
private val sampleAuthor3 = Random.nextFakeAuthor(id = "3", name = "Sandy")
private val sampleAuthor1 = fakeAuthor(id = "1", name = "Mandy")
private val sampleAuthor2 = fakeAuthor(id = "2", name = "Andy")
private val sampleAuthor3 = fakeAuthor(id = "3", name = "Sandy")
private val sampleAuthors = listOf(sampleAuthor1, sampleAuthor2, sampleAuthor3)

@ -16,10 +16,8 @@
package com.google.samples.apps.nowinandroid.core.model.data
import kotlin.random.Random
fun Random.nextFakeAuthor(
id: String = nextLong().toString(),
fun fakeAuthor(
id: String,
name: String = "Android Dev $id",
imageUrl: String = "https://example.org/dev-android/$id.png",
twitter: String = "@dev-android-$id",

@ -17,11 +17,10 @@
package com.google.samples.apps.nowinandroid.core.model.data
import com.google.samples.apps.nowinandroid.core.model.data.NewsResourceType.Unknown
import kotlin.random.Random
import kotlinx.datetime.Instant
fun Random.nextFakeNewsResource(
id: String = nextLong().toString(),
fun fakeNewsResource(
id: String,
title: String = "News resource $id",
content: String = "",
url: String = "https://example.org/news/$id",

@ -16,10 +16,8 @@
package com.google.samples.apps.nowinandroid.core.model.data
import kotlin.random.Random
fun Random.nextFakeTopic(
id: String = nextLong().toString(),
fun fakeTopic(
id: String,
name: String = "Topic $id",
shortDescription: String = "At vero eos et accusamus.",
longDescription: String = "At vero eos et accusamus et iusto odio dignissimos ducimus qui.",

@ -22,9 +22,8 @@ import androidx.compose.ui.test.onNodeWithContentDescription
import androidx.compose.ui.test.onNodeWithText
import com.google.samples.apps.nowinandroid.core.domain.model.FollowableAuthor
import com.google.samples.apps.nowinandroid.core.domain.model.SaveableNewsResource
import com.google.samples.apps.nowinandroid.core.model.data.nextFakeAuthor
import com.google.samples.apps.nowinandroid.core.model.data.nextFakeNewsResource
import kotlin.random.Random
import com.google.samples.apps.nowinandroid.core.model.data.fakeAuthor
import com.google.samples.apps.nowinandroid.core.model.data.fakeNewsResource
import org.junit.Before
import org.junit.Rule
import org.junit.Test
@ -142,11 +141,11 @@ class AuthorScreenTest {
}
private val testAuthors = listOf(
FollowableAuthor(Random.nextFakeAuthor(id = "1"), isFollowed = true),
FollowableAuthor(Random.nextFakeAuthor(id = "2"), isFollowed = false),
FollowableAuthor(Random.nextFakeAuthor(id = "3"), isFollowed = false),
FollowableAuthor(fakeAuthor(id = "1"), isFollowed = true),
FollowableAuthor(fakeAuthor(id = "2"), isFollowed = false),
FollowableAuthor(fakeAuthor(id = "3"), isFollowed = false),
)
private val sampleNewsResources = listOf(
Random.nextFakeNewsResource(id = "1", authors = listOf(testAuthors.first().author)),
fakeNewsResource(id = "1", authors = listOf(testAuthors.first().author)),
)

@ -19,15 +19,14 @@ package com.google.samples.apps.nowinandroid.feature.author
import androidx.lifecycle.SavedStateHandle
import com.google.samples.apps.nowinandroid.core.domain.GetSaveableNewsResourcesStreamUseCase
import com.google.samples.apps.nowinandroid.core.domain.model.FollowableAuthor
import com.google.samples.apps.nowinandroid.core.model.data.nextFakeAuthor
import com.google.samples.apps.nowinandroid.core.model.data.nextFakeNewsResource
import com.google.samples.apps.nowinandroid.core.model.data.fakeAuthor
import com.google.samples.apps.nowinandroid.core.model.data.fakeNewsResource
import com.google.samples.apps.nowinandroid.core.testing.decoder.FakeStringDecoder
import com.google.samples.apps.nowinandroid.core.testing.repository.TestAuthorsRepository
import com.google.samples.apps.nowinandroid.core.testing.repository.TestNewsRepository
import com.google.samples.apps.nowinandroid.core.testing.repository.TestUserDataRepository
import com.google.samples.apps.nowinandroid.core.testing.util.MainDispatcherRule
import com.google.samples.apps.nowinandroid.feature.author.navigation.authorIdArg
import kotlin.random.Random
import kotlin.test.assertEquals
import kotlin.test.assertIs
import kotlin.test.assertTrue
@ -208,9 +207,9 @@ class AuthorViewModelTest {
}
private val testInputAuthors = listOf(
FollowableAuthor(Random.nextFakeAuthor(id = "1"), isFollowed = true),
FollowableAuthor(Random.nextFakeAuthor(id = "2"), isFollowed = false),
FollowableAuthor(Random.nextFakeAuthor(id = "3"), isFollowed = false),
FollowableAuthor(fakeAuthor(id = "1"), isFollowed = true),
FollowableAuthor(fakeAuthor(id = "2"), isFollowed = false),
FollowableAuthor(fakeAuthor(id = "3"), isFollowed = false),
)
private val testOutputAuthors = listOf(
@ -220,5 +219,5 @@ private val testOutputAuthors = listOf(
)
private val sampleNewsResources = listOf(
Random.nextFakeNewsResource(id = "1", authors = listOf(testInputAuthors[0].author)),
fakeNewsResource(id = "1", authors = listOf(testInputAuthors[0].author)),
)

@ -31,11 +31,10 @@ import androidx.compose.ui.test.performScrollToNode
import com.google.samples.apps.nowinandroid.core.domain.model.FollowableAuthor
import com.google.samples.apps.nowinandroid.core.domain.model.FollowableTopic
import com.google.samples.apps.nowinandroid.core.domain.model.SaveableNewsResource
import com.google.samples.apps.nowinandroid.core.model.data.nextFakeAuthor
import com.google.samples.apps.nowinandroid.core.model.data.nextFakeTopic
import com.google.samples.apps.nowinandroid.core.model.data.fakeAuthor
import com.google.samples.apps.nowinandroid.core.model.data.fakeTopic
import com.google.samples.apps.nowinandroid.core.model.data.previewNewsResources
import com.google.samples.apps.nowinandroid.core.ui.NewsFeedUiState
import kotlin.random.Random
import org.junit.Rule
import org.junit.Test
@ -342,11 +341,11 @@ class ForYouScreenTest {
}
}
private val testAuthor = Random.nextFakeAuthor()
private val testAuthor = fakeAuthor(id = "0")
private val testTopics = listOf(
FollowableTopic(topic = Random.nextFakeTopic(id = "1", name = "Headlines"), isFollowed = false),
FollowableTopic(topic = Random.nextFakeTopic(id = "2", name = "UI"), isFollowed = false),
FollowableTopic(topic = Random.nextFakeTopic(id = "3", name = "Tools"), isFollowed = false),
FollowableTopic(topic = fakeTopic(id = "1", name = "Headlines"), isFollowed = false),
FollowableTopic(topic = fakeTopic(id = "2", name = "UI"), isFollowed = false),
FollowableTopic(topic = fakeTopic(id = "3", name = "Tools"), isFollowed = false),
)
private val testAuthors = listOf(
FollowableAuthor(author = testAuthor.copy(id = "1", name = "Android Dev"), isFollowed = false),

@ -22,9 +22,9 @@ import com.google.samples.apps.nowinandroid.core.domain.GetSortedFollowableAutho
import com.google.samples.apps.nowinandroid.core.domain.model.FollowableAuthor
import com.google.samples.apps.nowinandroid.core.domain.model.FollowableTopic
import com.google.samples.apps.nowinandroid.core.domain.model.SaveableNewsResource
import com.google.samples.apps.nowinandroid.core.model.data.nextFakeAuthor
import com.google.samples.apps.nowinandroid.core.model.data.nextFakeNewsResource
import com.google.samples.apps.nowinandroid.core.model.data.nextFakeTopic
import com.google.samples.apps.nowinandroid.core.model.data.fakeAuthor
import com.google.samples.apps.nowinandroid.core.model.data.fakeNewsResource
import com.google.samples.apps.nowinandroid.core.model.data.fakeTopic
import com.google.samples.apps.nowinandroid.core.testing.repository.TestAuthorsRepository
import com.google.samples.apps.nowinandroid.core.testing.repository.TestNewsRepository
import com.google.samples.apps.nowinandroid.core.testing.repository.TestTopicsRepository
@ -33,7 +33,6 @@ import com.google.samples.apps.nowinandroid.core.testing.util.MainDispatcherRule
import com.google.samples.apps.nowinandroid.core.testing.util.TestNetworkMonitor
import com.google.samples.apps.nowinandroid.core.testing.util.TestSyncStatusMonitor
import com.google.samples.apps.nowinandroid.core.ui.NewsFeedUiState
import kotlin.random.Random
import kotlin.test.assertEquals
import kotlinx.coroutines.flow.collect
import kotlinx.coroutines.launch
@ -466,29 +465,29 @@ class ForYouViewModelTest {
}
private val sampleAuthors = listOf(
Random.nextFakeAuthor(id = "1"),
Random.nextFakeAuthor(id = "2"),
Random.nextFakeAuthor(id = "3"),
fakeAuthor(id = "1"),
fakeAuthor(id = "2"),
fakeAuthor(id = "3"),
)
private val sampleTopics = listOf(
Random.nextFakeTopic(id = "1", name = "Headlines"),
Random.nextFakeTopic(id = "2", name = "UI"),
Random.nextFakeTopic(id = "3", name = "Tools"),
fakeTopic(id = "1", name = "Headlines"),
fakeTopic(id = "2", name = "UI"),
fakeTopic(id = "3", name = "Tools"),
)
private val sampleNewsResources = listOf(
Random.nextFakeNewsResource(
fakeNewsResource(
id = "1",
authors = listOf(sampleAuthors[0]),
topics = listOf(sampleTopics[0])
),
Random.nextFakeNewsResource(
fakeNewsResource(
id = "2",
authors = listOf(sampleAuthors[1]),
topics = listOf(sampleTopics[1])
),
Random.nextFakeNewsResource(
fakeNewsResource(
id = "3",
authors = listOf(sampleAuthors[1]),
topics = listOf(sampleTopics[1])

@ -27,13 +27,12 @@ import androidx.compose.ui.test.onNodeWithContentDescription
import androidx.compose.ui.test.onNodeWithText
import com.google.samples.apps.nowinandroid.core.domain.model.FollowableAuthor
import com.google.samples.apps.nowinandroid.core.domain.model.FollowableTopic
import com.google.samples.apps.nowinandroid.core.model.data.nextFakeAuthor
import com.google.samples.apps.nowinandroid.core.model.data.nextFakeTopic
import com.google.samples.apps.nowinandroid.core.model.data.fakeAuthor
import com.google.samples.apps.nowinandroid.core.model.data.fakeTopic
import com.google.samples.apps.nowinandroid.feature.interests.InterestsScreen
import com.google.samples.apps.nowinandroid.feature.interests.InterestsTabState
import com.google.samples.apps.nowinandroid.feature.interests.InterestsUiState
import com.google.samples.apps.nowinandroid.feature.interests.R
import kotlin.random.Random
import org.junit.Before
import org.junit.Rule
import org.junit.Test
@ -187,24 +186,15 @@ class InterestsScreenTest {
}
private const val TOPIC_SHORT_DESC = "At vero eos et accusamus."
private val testTopics = listOf(
FollowableTopic(
Random.nextFakeTopic(id = "1", shortDescription = TOPIC_SHORT_DESC),
isFollowed = true
),
FollowableTopic(
Random.nextFakeTopic(id = "2", shortDescription = TOPIC_SHORT_DESC),
isFollowed = false
),
FollowableTopic(
Random.nextFakeTopic(id = "3", shortDescription = TOPIC_SHORT_DESC),
isFollowed = false
)
FollowableTopic(fakeTopic(id = "1", shortDescription = TOPIC_SHORT_DESC), isFollowed = true),
FollowableTopic(fakeTopic(id = "2", shortDescription = TOPIC_SHORT_DESC), isFollowed = false),
FollowableTopic(fakeTopic(id = "3", shortDescription = TOPIC_SHORT_DESC), isFollowed = false)
)
private val testAuthors = listOf(
FollowableAuthor(Random.nextFakeAuthor(id = "1", name = "Android Dev"), isFollowed = true),
FollowableAuthor(Random.nextFakeAuthor(id = "2", name = "Android Dev 2"), isFollowed = false),
FollowableAuthor(Random.nextFakeAuthor(id = "3", name = "Android Dev 3"), isFollowed = false),
FollowableAuthor(fakeAuthor(id = "1", name = "Android Dev"), isFollowed = true),
FollowableAuthor(fakeAuthor(id = "2", name = "Android Dev 2"), isFollowed = false),
FollowableAuthor(fakeAuthor(id = "3", name = "Android Dev 3"), isFollowed = false),
)
private val numberOfUnfollowedTopics = testTopics.filter { !it.isFollowed }.size

@ -20,15 +20,14 @@ import com.google.samples.apps.nowinandroid.core.domain.GetFollowableTopicsStrea
import com.google.samples.apps.nowinandroid.core.domain.GetSortedFollowableAuthorsStreamUseCase
import com.google.samples.apps.nowinandroid.core.domain.model.FollowableAuthor
import com.google.samples.apps.nowinandroid.core.domain.model.FollowableTopic
import com.google.samples.apps.nowinandroid.core.model.data.nextFakeAuthor
import com.google.samples.apps.nowinandroid.core.model.data.nextFakeTopic
import com.google.samples.apps.nowinandroid.core.model.data.fakeAuthor
import com.google.samples.apps.nowinandroid.core.model.data.fakeTopic
import com.google.samples.apps.nowinandroid.core.testing.repository.TestAuthorsRepository
import com.google.samples.apps.nowinandroid.core.testing.repository.TestTopicsRepository
import com.google.samples.apps.nowinandroid.core.testing.repository.TestUserDataRepository
import com.google.samples.apps.nowinandroid.core.testing.util.MainDispatcherRule
import com.google.samples.apps.nowinandroid.feature.interests.InterestsUiState
import com.google.samples.apps.nowinandroid.feature.interests.InterestsViewModel
import kotlin.random.Random
import kotlin.test.assertEquals
import kotlinx.coroutines.flow.collect
import kotlinx.coroutines.launch
@ -206,25 +205,25 @@ class InterestsViewModelTest {
}
private val testInputAuthors = listOf(
FollowableAuthor(author = Random.nextFakeAuthor(id = "1"), isFollowed = true),
FollowableAuthor(author = Random.nextFakeAuthor(id = "2"), isFollowed = false),
FollowableAuthor(author = Random.nextFakeAuthor(id = "3"), isFollowed = false),
FollowableAuthor(author = fakeAuthor(id = "1"), isFollowed = true),
FollowableAuthor(author = fakeAuthor(id = "2"), isFollowed = false),
FollowableAuthor(author = fakeAuthor(id = "3"), isFollowed = false),
)
private val testOutputAuthors = listOf(
FollowableAuthor(author = Random.nextFakeAuthor(id = "1"), isFollowed = true),
FollowableAuthor(author = Random.nextFakeAuthor(id = "2"), isFollowed = true),
FollowableAuthor(author = Random.nextFakeAuthor(id = "3"), isFollowed = false),
FollowableAuthor(author = fakeAuthor(id = "1"), isFollowed = true),
FollowableAuthor(author = fakeAuthor(id = "2"), isFollowed = true),
FollowableAuthor(author = fakeAuthor(id = "3"), isFollowed = false),
)
private val testInputTopics = listOf(
FollowableTopic(Random.nextFakeTopic(id = "1"), isFollowed = true),
FollowableTopic(Random.nextFakeTopic(id = "2"), isFollowed = false),
FollowableTopic(Random.nextFakeTopic(id = "3"), isFollowed = false),
FollowableTopic(fakeTopic(id = "1"), isFollowed = true),
FollowableTopic(fakeTopic(id = "2"), isFollowed = false),
FollowableTopic(fakeTopic(id = "3"), isFollowed = false),
)
private val testOutputTopics = listOf(
FollowableTopic(Random.nextFakeTopic(id = "1"), isFollowed = true),
FollowableTopic(Random.nextFakeTopic(id = "2"), isFollowed = true),
FollowableTopic(Random.nextFakeTopic(id = "3"), isFollowed = false),
FollowableTopic(fakeTopic(id = "1"), isFollowed = true),
FollowableTopic(fakeTopic(id = "2"), isFollowed = true),
FollowableTopic(fakeTopic(id = "3"), isFollowed = false),
)

@ -26,9 +26,8 @@ import androidx.compose.ui.test.onNodeWithText
import androidx.compose.ui.test.performScrollToNode
import com.google.samples.apps.nowinandroid.core.domain.model.FollowableTopic
import com.google.samples.apps.nowinandroid.core.domain.model.SaveableNewsResource
import com.google.samples.apps.nowinandroid.core.model.data.nextFakeNewsResource
import com.google.samples.apps.nowinandroid.core.model.data.nextFakeTopic
import kotlin.random.Random
import com.google.samples.apps.nowinandroid.core.model.data.fakeNewsResource
import com.google.samples.apps.nowinandroid.core.model.data.fakeTopic
import org.junit.Before
import org.junit.Rule
import org.junit.Test
@ -147,9 +146,9 @@ class TopicScreenTest {
}
private val testTopics = listOf(
FollowableTopic(Random.nextFakeTopic(id = "1", name = "Headlines"), isFollowed = true),
FollowableTopic(Random.nextFakeTopic(id = "2", name = "UI"), isFollowed = false),
FollowableTopic(Random.nextFakeTopic(id = "3", name = "Tools"), isFollowed = false),
FollowableTopic(fakeTopic(id = "1", name = "Headlines"), isFollowed = true),
FollowableTopic(fakeTopic(id = "2", name = "UI"), isFollowed = false),
FollowableTopic(fakeTopic(id = "3", name = "Tools"), isFollowed = false),
)
private val sampleNewsResources = listOf(Random.nextFakeNewsResource())
private val sampleNewsResources = listOf(fakeNewsResource(id = "0"))

@ -19,15 +19,14 @@ package com.google.samples.apps.nowinandroid.feature.topic
import androidx.lifecycle.SavedStateHandle
import com.google.samples.apps.nowinandroid.core.domain.GetSaveableNewsResourcesStreamUseCase
import com.google.samples.apps.nowinandroid.core.domain.model.FollowableTopic
import com.google.samples.apps.nowinandroid.core.model.data.nextFakeNewsResource
import com.google.samples.apps.nowinandroid.core.model.data.nextFakeTopic
import com.google.samples.apps.nowinandroid.core.model.data.fakeNewsResource
import com.google.samples.apps.nowinandroid.core.model.data.fakeTopic
import com.google.samples.apps.nowinandroid.core.testing.decoder.FakeStringDecoder
import com.google.samples.apps.nowinandroid.core.testing.repository.TestNewsRepository
import com.google.samples.apps.nowinandroid.core.testing.repository.TestTopicsRepository
import com.google.samples.apps.nowinandroid.core.testing.repository.TestUserDataRepository
import com.google.samples.apps.nowinandroid.core.testing.util.MainDispatcherRule
import com.google.samples.apps.nowinandroid.feature.topic.navigation.topicIdArg
import kotlin.random.Random
import kotlin.test.assertEquals
import kotlin.test.assertIs
import kotlinx.coroutines.flow.collect
@ -165,9 +164,9 @@ class TopicViewModelTest {
}
private val testInputTopics = listOf(
FollowableTopic(Random.nextFakeTopic(id = "1", name = "Android Studio"), isFollowed = true),
FollowableTopic(Random.nextFakeTopic(id = "2", name = "Build"), isFollowed = false),
FollowableTopic(Random.nextFakeTopic(id = "3", name = "Compose"), isFollowed = false),
FollowableTopic(fakeTopic(id = "1", name = "Android Studio"), isFollowed = true),
FollowableTopic(fakeTopic(id = "2", name = "Build"), isFollowed = false),
FollowableTopic(fakeTopic(id = "3", name = "Compose"), isFollowed = false),
)
private val testOutputTopics = listOf(
@ -177,5 +176,5 @@ private val testOutputTopics = listOf(
)
private val sampleNewsResources = listOf(
Random.nextFakeNewsResource(id = "1", topics = listOf(testInputTopics[0].topic)),
fakeNewsResource(id = "1", topics = listOf(testInputTopics[0].topic)),
)

Loading…
Cancel
Save