/** Tests {@link BasePayloadWriter#insert} by adding zero-byte key or value. */ @Test public void addZeroLengthKeyOrValueTest() throws Exception { int offset; int expectedLength = 0; // Both key and value are empty, expect only 8 bytes of two integer length values offset = mTestWriter.insert("".getBytes(), "".getBytes()); Assert.assertEquals(expectedLength, offset); mTestWriter.flush(); expectedLength += 8; Assert.assertEquals(expectedLength, mTestOutStream.getBytesWritten()); offset = mTestWriter.insert(KEY1, "".getBytes()); Assert.assertEquals(expectedLength, offset); mTestWriter.flush(); expectedLength += 8 + KEY1.length; Assert.assertEquals(expectedLength, mTestOutStream.getBytesWritten()); offset = mTestWriter.insert("".getBytes(), VALUE1); Assert.assertEquals(expectedLength, offset); mTestWriter.flush(); expectedLength += 8 + VALUE1.length; Assert.assertEquals(expectedLength, mTestOutStream.getBytesWritten()); }
/** Tests {@link BasePayloadWriter#insert} by adding multiple key-value pairs. */ @Test public void addMultipleKeyAndValuePairsTest() throws Exception { int offset; int expectedLength = 0; offset = mTestWriter.insert(KEY1, VALUE1); Assert.assertEquals(expectedLength, offset); mTestWriter.flush(); expectedLength += 8 + KEY1.length + VALUE1.length; Assert.assertEquals(expectedLength, mTestOutStream.getBytesWritten()); offset = mTestWriter.insert(KEY2, VALUE2); Assert.assertEquals(expectedLength, offset); mTestWriter.flush(); expectedLength += 8 + KEY2.length + VALUE2.length; Assert.assertEquals(expectedLength, mTestOutStream.getBytesWritten()); }