Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import io.reactivex.observers.TestObserver
- import io.reactivex.subjects.PublishSubject
- import org.junit.Test
- class StartWithPlaygroundTest {
- private val intentSubject = PublishSubject.create<Pair<String, String>>()
- private val apiSubject = PublishSubject.create<PartialRegisterChanges>()
- @Test
- fun `startWith with ( ) braces`() {
- val testObserver = TestObserver<PartialRegisterChanges>()
- intentSubject.flatMap {
- apiSubject.startWith(PartialRegisterChanges.RegistrationInProgress)
- }.subscribe(testObserver)
- intentSubject.onNext(Pair("login", "password"))
- apiSubject.onNext(PartialRegisterChanges.RegistrationSuccess)
- testObserver.assertValueAt(0, PartialRegisterChanges.RegistrationInProgress)
- testObserver.assertValueAt(1, PartialRegisterChanges.RegistrationSuccess)
- }
- @Test
- fun `startWith with { } braces`() {
- val testObserver = TestObserver<PartialRegisterChanges>()
- intentSubject.flatMap {
- apiSubject.startWith { PartialRegisterChanges.RegistrationInProgress }
- }.subscribe(testObserver)
- intentSubject.onNext(Pair("login", "password"))
- apiSubject.onNext(PartialRegisterChanges.RegistrationSuccess)
- testObserver.assertValueAt(0, PartialRegisterChanges.RegistrationInProgress)
- testObserver.assertValueAt(1, PartialRegisterChanges.RegistrationSuccess)
- }
- }
- sealed class PartialRegisterChanges {
- object RegistrationInProgress : PartialRegisterChanges()
- object RegistrationSuccess : PartialRegisterChanges()
- }
Add Comment
Please, Sign In to add comment