@Test public void readVarInt_errorCase() { byte[] errorCode = new byte[] {-118, -41, -17, -117, -81, -115, -64, -64, -108, -88}; Buffer buffer = new FixedBuffer(errorCode); try { buffer.readVarInt(); Assert.fail("invalid varInt"); } catch (IllegalArgumentException ignore) { } Assert.assertEquals(0, buffer.getOffset()); }
private void checkVarInt_bufferSize(int v, int offset, int bufferSize) { final Buffer buffer = new FixedBuffer(bufferSize); buffer.putVar(v); if (offset != -1) { Assert.assertEquals(buffer.getOffset(), offset); } else { logger.info("{} offsetSize:{}", v, buffer.getOffset()); } buffer.setOffset(0); int readV = buffer.readVarInt(); Assert.assertEquals(readV, v); }
// @Test public void find_SVarInt_errorCode() throws Exception { Random random = new Random(); byte[] bytes = new byte[10]; while (true) { random.nextBytes(bytes); Buffer buffer = new FixedBuffer(bytes); try { int i = buffer.readVarInt(); } catch (IllegalArgumentException e) { logger.info(e.getMessage(), e); String binaryString = BytesUtils.toString(bytes); logger.info(binaryString); for (byte aByte : bytes) { String code = String.valueOf((int) aByte); logger.info(code); } return; } } }