Skip to content

Instantly share code, notes, and snippets.

@MertNYuksel
Created August 16, 2023 17:02
Show Gist options
  • Star 1 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save MertNYuksel/6608f4f8157b89953a53fde5bc266ac5 to your computer and use it in GitHub Desktop.
Save MertNYuksel/6608f4f8157b89953a53fde5bc266ac5 to your computer and use it in GitHub Desktop.
TestObserver
class TestObserver<T> : Observer<T> {
private val values = mutableListOf<T>()
fun getValues(): List<T> = values
override fun onChanged(value: T) {
values.add(value)
}
}
fun <T> LiveData<T>.test(): TestObserver<T> {
val observer = TestObserver<T>()
observeForever(observer)
return observer
}
@Test
fun `test function`() {
// given
val observer = sut.getLiveData().test()
// when
sut.doSomething()
// then
Truth
.assertThat(viewStateObserver.getValues().last())
.isEqualTo(expected)
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment