@Override public void run() { ms.test(); } };
@Test public void cancelOnArrival() { NonoProcessor.create() .test(true) .assertEmpty(); }
@Test public void nullThrowable() { NonoProcessor ms = NonoProcessor.create(); TestSubscriber<Void> ts = ms.test(); ms.onError(null); ts.assertFailure(NullPointerException.class); }
@Test public void addRemoveRace() { for (int i = 0; i < 500; i++) { final NonoProcessor ms = NonoProcessor.create(); final TestSubscriber<Void> ts = ms.test(); Runnable r1 = new Runnable() { @Override public void run() { ms.test(); } }; Runnable r2 = new Runnable() { @Override public void run() { ts.cancel(); } }; TestHelper.race(r1, r2, Schedulers.single()); } }
@Test public void once() { NonoProcessor ms = NonoProcessor.create(); TestSubscriber<Void> ts = ms.test(); ms.onComplete(); List<Throwable> errors = TestHelper.trackPluginErrors(); try { ms.onError(new IOException()); TestHelper.assertUndeliverable(errors, 0, IOException.class); } finally { RxJavaPlugins.reset(); } ms.onComplete(); ts.assertResult(); }
@Test public void error() { NonoProcessor ms = NonoProcessor.create(); assertFalse(ms.hasComplete()); assertFalse(ms.hasThrowable()); assertNull(ms.getThrowable()); assertFalse(ms.hasSubscribers()); assertEquals(0, ms.subscriberCount()); TestSubscriber<Void> ts = ms.test(); ts.assertEmpty(); assertTrue(ms.hasSubscribers()); assertEquals(1, ms.subscriberCount()); ms.onError(new IOException()); assertFalse(ms.hasComplete()); assertTrue(ms.hasThrowable()); assertTrue(ms.getThrowable().toString(), ms.getThrowable() instanceof IOException); assertFalse(ms.hasSubscribers()); assertEquals(0, ms.subscriberCount()); ts.assertFailure(IOException.class); ms.test().assertFailure(IOException.class); assertFalse(ms.hasComplete()); assertTrue(ms.hasThrowable()); assertTrue(ms.getThrowable().toString(), ms.getThrowable() instanceof IOException); assertFalse(ms.hasSubscribers()); assertEquals(0, ms.subscriberCount()); }
@Test public void complete() { NonoProcessor ms = NonoProcessor.create(); assertFalse(ms.hasComplete()); assertFalse(ms.hasThrowable()); assertNull(ms.getThrowable()); assertFalse(ms.hasSubscribers()); assertEquals(0, ms.subscriberCount()); TestSubscriber<Void> ts = ms.test(); ts.assertEmpty(); assertTrue(ms.hasSubscribers()); assertEquals(1, ms.subscriberCount()); ms.onComplete(); assertTrue(ms.hasComplete()); assertFalse(ms.hasThrowable()); assertNull(ms.getThrowable()); assertFalse(ms.hasSubscribers()); assertEquals(0, ms.subscriberCount()); ts.assertResult(); ms.test().assertResult(); assertTrue(ms.hasComplete()); assertFalse(ms.hasThrowable()); assertNull(ms.getThrowable()); assertFalse(ms.hasSubscribers()); assertEquals(0, ms.subscriberCount()); }