@Test
public void getPosition() {

  Tag tag1 = new Tag(0x04, Tag.CONTEXT, PRIMITIVE, 1);
  // two TLV
  TLV tlv = new TLV(ByteArrayUtil.fromHex("8405001122334484055566778899"));
  Assert.assertTrue(tlv.parse(tag1, 0));
  // test position before getValue
  Assert.assertEquals(2, tlv.getPosition());
  Assert.assertArrayEquals(ByteArrayUtil.fromHex("0011223344"), tlv.getValue());
  // test position after getValue
  Assert.assertEquals(7, tlv.getPosition());
  Assert.assertTrue(tlv.parse(tag1, tlv.getPosition()));
  // test position before getValue
  Assert.assertEquals(9, tlv.getPosition());
  Assert.assertArrayEquals(ByteArrayUtil.fromHex("5566778899"), tlv.getValue());
  // test position after getValue
  Assert.assertEquals(14, tlv.getPosition());
}