@Override public int compareTo(byte[] bytes, int start, int length) { return UTF8StringUtil.rawByteCompareTo(this.bytes, this.start, bytes, start); }
public void testCompare(String str1, String str2, OPTION option) throws IOException { byte[] buffer1 = writeStringToBytes(str1); byte[] buffer2 = writeStringToBytes(str2); switch (option) { case STANDARD: assertEquals(str1.compareTo(str2), compareTo(buffer1, 0, buffer2, 0)); int n1 = normalize(buffer1, 0); int n2 = normalize(buffer2, 0); assertTrue(isSameSign(str1.compareTo(str2), n1 - n2)); break; case RAW_BYTE: assertEquals(str1.compareTo(str2), rawByteCompareTo(buffer1, 0, buffer2, 0)); break; case LOWERCASE: assertEquals(str1.compareToIgnoreCase(str2), lowerCaseCompareTo(buffer1, 0, buffer2, 0)); break; } }