Skip to content

Instantly share code, notes, and snippets.

@prokash-sarkar
Created February 24, 2021 14:25
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save prokash-sarkar/cbd90ff1531049cf6ee08c207230e4e8 to your computer and use it in GitHub Desktop.
Save prokash-sarkar/cbd90ff1531049cf6ee08c207230e4e8 to your computer and use it in GitHub Desktop.
class MainViewModel (
private val dispatcher: CoroutineDispatcher
) : ViewModel() {
private var userData: Any? = null
fun getUserData(): Any? = userData
suspend fun saveSessionData() {
viewModelScope.launch(dispatcher) {
userData = "some_user_data"
}
}
}
@ExperimentalCoroutinesApi
class MainViewModelTest {
private val testDispatcher = TestCoroutineDispatcher()
@ExperimentalCoroutinesApi
@get:Rule
var mainCoroutineRule = MainCoroutineRule()
@Test
fun testsSaveSessionData() = runBlockingTest {
val mainViewModel = MainViewModel(testDispatcher)
mainViewModel.saveSessionData()
val userData = mainViewModel.getUserData()
assertEquals("some_user_data", userData)
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment