@Test
  public void shouldReadEmptyStream() throws Exception {
    byte[] bytes = new byte[] {};
    BufferedLogReader.LogReaderInput input = inputOf(bytes);
    BufferedLogReader.IteratorImpl<Integer> iterator =
        new BufferedLogReader.IteratorImpl<Integer>(input, Integer.class);

    assertThat(iterator.hasNext(), is(false));
  }
  @Test
  public void shouldReadOneObject() throws Exception {
    byte[] bytes = serialize(1);
    BufferedLogReader.LogReaderInput input = inputOf(bytes);
    BufferedLogReader.IteratorImpl<Integer> iterator =
        new BufferedLogReader.IteratorImpl<Integer>(input, Integer.class);

    assertThat(iterator.hasNext(), is(true));
    assertThat(iterator.next(), equalTo(1));
    assertThat(iterator.hasNext(), is(false));
  }