@Test public void isDisposed() { CompletableSubject cs1 = CompletableSubject.create(); CompletableSubject cs2 = CompletableSubject.create(); TestHelper.checkDisposed(cs1.takeUntil(cs2)); }
@Test public void consumerDisposes() { CompletableSubject cs1 = CompletableSubject.create(); CompletableSubject cs2 = CompletableSubject.create(); TestObserver<Void> to = cs1.takeUntil(cs2).test(); to.assertEmpty(); assertTrue(cs1.hasObservers()); assertTrue(cs2.hasObservers()); to.dispose(); assertFalse(cs1.hasObservers()); assertFalse(cs2.hasObservers()); }
@Test public void otherCompletes() { CompletableSubject cs1 = CompletableSubject.create(); CompletableSubject cs2 = CompletableSubject.create(); TestObserver<Void> to = cs1.takeUntil(cs2).test(); to.assertEmpty(); assertTrue(cs1.hasObservers()); assertTrue(cs2.hasObservers()); cs2.onComplete(); assertFalse(cs1.hasObservers()); assertFalse(cs2.hasObservers()); to.assertResult(); }
@Test public void mainCompletes() { CompletableSubject cs1 = CompletableSubject.create(); CompletableSubject cs2 = CompletableSubject.create(); TestObserver<Void> to = cs1.takeUntil(cs2).test(); to.assertEmpty(); assertTrue(cs1.hasObservers()); assertTrue(cs2.hasObservers()); cs1.onComplete(); assertFalse(cs1.hasObservers()); assertFalse(cs2.hasObservers()); to.assertResult(); }
@Test public void mainErrors() { CompletableSubject cs1 = CompletableSubject.create(); CompletableSubject cs2 = CompletableSubject.create(); TestObserver<Void> to = cs1.takeUntil(cs2).test(); to.assertEmpty(); assertTrue(cs1.hasObservers()); assertTrue(cs2.hasObservers()); cs1.onError(new TestException()); assertFalse(cs1.hasObservers()); assertFalse(cs2.hasObservers()); to.assertFailure(TestException.class); }
@Test public void otherErrors() { CompletableSubject cs1 = CompletableSubject.create(); CompletableSubject cs2 = CompletableSubject.create(); TestObserver<Void> to = cs1.takeUntil(cs2).test(); to.assertEmpty(); assertTrue(cs1.hasObservers()); assertTrue(cs2.hasObservers()); cs2.onError(new TestException()); assertFalse(cs1.hasObservers()); assertFalse(cs2.hasObservers()); to.assertFailure(TestException.class); }