/** Tests {@link BasePayloadReader#getKey} to read data at offset 0. */
  @Test
  public void getKeyAndValueZeroOffsetTest() throws Exception {
    int offset = mTestWriter.insert(KEY1, VALUE1);
    Assert.assertEquals(0, offset);
    mTestWriter.close();

    ByteBuffer buf = ByteBuffer.wrap(mTestOutStream.toByteArray());
    mTestReader = new BasePayloadReader(buf);
    Assert.assertEquals(ByteBuffer.wrap(KEY1), mTestReader.getKey(0));
    Assert.assertEquals(ByteBuffer.wrap(VALUE1), mTestReader.getValue(0));
  }
  /** Tests {@link BasePayloadReader#getKey} to read data at non-zero offset. */
  @Test
  public void getKeyAndValueNonZeroOffsetTest() throws Exception {
    mTestOutStream.write("meaningless padding".getBytes());
    int offset = mTestWriter.insert(KEY1, VALUE1);
    mTestWriter.close();

    ByteBuffer buf = ByteBuffer.wrap(mTestOutStream.toByteArray());
    mTestReader = new BasePayloadReader(buf);
    Assert.assertEquals(ByteBuffer.wrap(KEY1), mTestReader.getKey(offset));
    Assert.assertEquals(ByteBuffer.wrap(VALUE1), mTestReader.getValue(offset));
  }