@Test
public void testEncode() throws Exception {

    ByteCodec codec = new ByteCodec();
    Assert.assertEquals((byte) 0x7f, codec.encode((byte) 0x7f, 8)[0], 0);
    Assert.assertEquals((byte) 0x7e, codec.encode((byte) 0x3f, 7)[0], 0);
    Assert.assertEquals((byte) 0x7c, codec.encode((byte) 0x1f, 6)[0], 0);
    Assert.assertEquals((byte) 0x78, codec.encode((byte) 0x0f, 5)[0], 0);
    Assert.assertEquals((byte) 0x70, codec.encode((byte) 0x07, 4)[0], 0);
    Assert.assertEquals((byte) 0x60, codec.encode((byte) 0x03, 3)[0], 0);
    Assert.assertEquals((byte) 0x40, codec.encode((byte) 0x01, 2)[0], 0);
    Assert.assertEquals((byte) 0x00, codec.encode((byte) 0x00, 1)[0], 0);
}