@Test public void testLowerCaseCompareTo() throws Exception { testCompare(STRING_LEN_127, STRING_LEN_128, OPTION.LOWERCASE); testCompare(STRING_LEN_127, STRING_UTF8_MIX, OPTION.LOWERCASE); testCompare(STRING_UTF8_MIX, STRING_UTF8_MIX_LOWERCASE, OPTION.LOWERCASE); testCompare(STRING_UTF8_MIX_LOWERCASE, STRING_UTF8_MIX, OPTION.LOWERCASE); }
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; } }
@Test public void testCompareToAndNormolize() throws Exception { testCompare(STRING_UTF8_MIX, STRING_UTF8_MIX, OPTION.STANDARD); testCompare(STRING_UTF8_3, STRING_UTF8_MIX, OPTION.STANDARD); testCompare(STRING_LEN_MEDIUM, STRING_UTF8_MIX, OPTION.STANDARD); }
@Test public void testRawByteCompareTo() throws Exception { testCompare(STRING_LEN_MEDIUM, STRING_LEN_MEDIUM, OPTION.RAW_BYTE); testCompare(STRING_LEN_127, STRING_LEN_128, OPTION.RAW_BYTE); }