### Question:
PrincetonRandomAccessDictionaryFile extends AbstractPrincetonRandomAccessDictionaryFile implements DictionaryFileFactory<PrincetonRandomAccessDictionaryFile>, DictionaryDiskFile { public static void formatOffset(long i, int formatLength, StringBuilder target) { int lastIdx = target.length(); target.setLength(target.length() + formatLength); long q; int r; int charPos = lastIdx + formatLength; while (i > Integer.MAX_VALUE && 0 < charPos) { q = i / 100; r = (int) (i - ((q << 6) + (q << 5) + (q << 2))); i = q; target.setCharAt(--charPos, DigitOnes[r]); target.setCharAt(--charPos, DigitTens[r]); } int q2; int i2 = (int) i; while (i2 >= 65536 && 0 < charPos) { q2 = i2 / 100; r = i2 - ((q2 << 6) + (q2 << 5) + (q2 << 2)); i2 = q2; target.setCharAt(--charPos, DigitOnes[r]); target.setCharAt(--charPos, DigitTens[r]); } while (0 < charPos) { q2 = (i2 * 52429) >>> (16 + 3); r = i2 - ((q2 << 3) + (q2 << 1)); target.setCharAt(--charPos, digits[r]); i2 = q2; if (i2 == 0) { break; } } while (lastIdx < charPos && 0 < charPos) { target.setCharAt(--charPos, '0'); } } PrincetonRandomAccessDictionaryFile(Dictionary dictionary, Map<String, Param> params);  PrincetonRandomAccessDictionaryFile(Dictionary dictionary, String path, POS pos, DictionaryFileType fileType, Map<String, Param> params); static void formatOffset(long i, int formatLength, StringBuilder target); @Override PrincetonRandomAccessDictionaryFile newInstance(Dictionary dictionary, String path, POS pos, DictionaryFileType fileType); @Override PointedCharSequence readLine(long offset); @Override PointedCharSequence readWord(long offset); @Override long getFirstLineOffset(); @Override long getNextLineOffset(long offset); @Override void open(); @Override boolean isOpen(); @Override void close(); @Override void edit(); @Override long length(); @Override void save(); @Override int getOffsetLength(); @Override void setOffsetLength(int length); @Override File getFile(); @Override boolean delete(); static final String WRITE_PRINCETON_HEADER_KEY; static final String CHECK_LEX_FILE_NUMBER_KEY; static final String CHECK_RELATION_LIMIT_KEY; static final String CHECK_WORD_COUNT_LIMIT_KEY; static final String CHECK_LEX_ID_LIMIT_KEY; static final String CHECK_POINTER_INDEX_LIMIT_KEY; static final String CHECK_VERB_FRAME_LIMIT_KEY; static final String CHECK_DATA_FILE_LINE_LENGTH_LIMIT_KEY; }### Answer:
@Test @UseDataProvider("testFormatOffset") public void testFormatOffset(final long i, final int l, final String s) { StringBuilder b = new StringBuilder(); PrincetonRandomAccessDictionaryFile.formatOffset(i, l, b); assertEquals(s, b.toString()); }