RxJavaString icon indicating copy to clipboard operation
RxJavaString copied to clipboard

What does StringObservableTest.testFromReaderWillUnsubscribeBeforeCallingNextRead() test?

Open suchafreak opened this issue 9 years ago • 1 comments

I looked at the following test:

@Test
public void testFromReaderWillUnsubscribeBeforeCallingNextRead() {
  final byte[] inBytes = "test".getBytes();
  final AtomicInteger numReads = new AtomicInteger(0);
  ByteArrayInputStream is = new ByteArrayInputStream(inBytes) {


    @Override
    public synchronized int read(byte[] b, int off, int len) {
      numReads.incrementAndGet();
      return super.read(b, off, len);
    }
  };
  StringObservable.from(new InputStreamReader(is)).first().toBlocking().single();
  assertEquals(1, numReads.get());
}

Looking at the test code, I don't see how this test is related to unsubscribe handling. All I see is a test that asserts that the overriden read() on the stream is called exactly once.

What am I missing?

suchafreak avatar Jul 13 '16 07:07 suchafreak

Hi, if I remember correctly this was a sufficient test to isolate the problem described by the test method name. Feel free to submit PR to provide more test coverage and improved naming.

davidmoten avatar Jul 13 '16 11:07 davidmoten