### Question:
IFA_LLBNUM extends ISOFieldPackager { public int unpack (ISOComponent c, byte[] b, int offset) throws ISOException { int len = prefixer.decodeLength(b, offset); c.setValue (interpreter.uninterpret(b, offset + 2, len)); return 2 + (++len >> 1); } IFA_LLBNUM();  IFA_LLBNUM(int len, String description, boolean pad); void setPad(boolean pad); byte[] pack(ISOComponent c); int unpack(ISOComponent c, byte[] b, int offset); void unpack(ISOComponent c, InputStream in); int getMaxPackedLength();  }### Answer:
@Test public void testUnpack() throws Exception { byte[] raw = new byte[]{0x30, 0x34, 0x01, 0x23}; IFA_LLBNUM packager = new IFA_LLBNUM(10, "Should be 0x30330123", true); ISOField field = new ISOField(); packager.unpack(field, raw, 0); assertEquals("0123", field.getValue()); }
@Test public void testUnpackIssue329() throws Exception { byte[] raw = new byte[]{0x31, 0x36, 0x12, 0x34, 0x56, 0x78, (byte) 0x90, 0x12, 0x34, 0x56}; IFA_LLBNUM packager = new IFA_LLBNUM(99, "Should be 1234567890123456", true); ISOField field = new ISOField(); packager.unpack(field, raw, 0); assertEquals("1234567890123456", field.getValue()); }