### Question:
HeaderParser { protected static int readAfterString(byte[] header, int off) { int start = readToString(header, off); int len = header[start + 2] & 0xFF; return start + len*2 + 3; }  static CustomHeader parse(File map); static CustomHeader parse(byte[] map); static CustomHeader parse(ByteSource source); static int findEndOfHeader(ByteSource source);  }### Answer:
@Test public void testReadAfterStringByteArrayInt() throws Exception { int expected = 25; int actual = HeaderParser.readAfterString(inputString, 0); assertEquals(expected, actual); }
@Test public void testReadAfterStringByteArrayInt2() throws Exception { int expected = 44; int actual = HeaderParser.readAfterString(inputString, 7); assertEquals(expected, actual); }
@Test public void testReadAfterStringByteArrayIntString() throws Exception { int expected = 25; int actual = HeaderParser.readAfterString(inputString, 0, "PlayerData"); assertEquals(expected, actual); }
@Test public void testReadAfterStringByteArrayIntString2() throws Exception { int expected = 44; int actual = HeaderParser.readAfterString(inputString, 0, "01-Empty"); assertEquals(expected, actual); }
@Test public void testReadAfterStringByteArrayIntString3() throws Exception { int expected = -1; int actual = HeaderParser.readAfterString(inputString, 15, "PlayerData"); assertEquals(expected, actual); }