@Test public void error() { CompletableSubject cs = CompletableSubject.create(); assertFalse(cs.hasComplete()); assertFalse(cs.hasThrowable()); assertNull(cs.getThrowable()); assertFalse(cs.hasObservers()); assertEquals(0, cs.observerCount()); TestObserver<Void> to = cs.test(); to.assertEmpty(); assertTrue(cs.hasObservers()); assertEquals(1, cs.observerCount()); cs.onError(new IOException()); assertFalse(cs.hasComplete()); assertTrue(cs.hasThrowable()); assertTrue(cs.getThrowable().toString(), cs.getThrowable() instanceof IOException); assertFalse(cs.hasObservers()); assertEquals(0, cs.observerCount()); to.assertFailure(IOException.class); cs.test().assertFailure(IOException.class); assertFalse(cs.hasComplete()); assertTrue(cs.hasThrowable()); assertTrue(cs.getThrowable().toString(), cs.getThrowable() instanceof IOException); assertFalse(cs.hasObservers()); assertEquals(0, cs.observerCount()); }
@Test public void complete() { CompletableSubject cs = CompletableSubject.create(); assertFalse(cs.hasComplete()); assertFalse(cs.hasThrowable()); assertNull(cs.getThrowable()); assertFalse(cs.hasObservers()); assertEquals(0, cs.observerCount()); TestObserver<Void> to = cs.test(); to.assertEmpty(); assertTrue(cs.hasObservers()); assertEquals(1, cs.observerCount()); cs.onComplete(); assertTrue(cs.hasComplete()); assertFalse(cs.hasThrowable()); assertNull(cs.getThrowable()); assertFalse(cs.hasObservers()); assertEquals(0, cs.observerCount()); to.assertResult(); cs.test().assertResult(); assertTrue(cs.hasComplete()); assertFalse(cs.hasThrowable()); assertNull(cs.getThrowable()); assertFalse(cs.hasObservers()); assertEquals(0, cs.observerCount()); }