Utf8 u1 = o1 instanceof Utf8 ? (Utf8)o1 : new Utf8(o1.toString()); Utf8 u2 = o2 instanceof Utf8 ? (Utf8)o2 : new Utf8(o2.toString()); return u1.compareTo(u2); default: return ((Comparable)o1).compareTo(o2);
Utf8 u1 = o1 instanceof Utf8 ? (Utf8)o1 : new Utf8(o1.toString()); Utf8 u2 = o2 instanceof Utf8 ? (Utf8)o2 : new Utf8(o2.toString()); return u1.compareTo(u2); default: return ((Comparable)o1).compareTo(o2);
Utf8 u1 = o1 instanceof Utf8 ? (Utf8)o1 : new Utf8(o1.toString()); Utf8 u2 = o2 instanceof Utf8 ? (Utf8)o2 : new Utf8(o2.toString()); return u1.compareTo(u2); default: return ((Comparable)o1).compareTo(o2);
Utf8 u1 = o1 instanceof Utf8 ? (Utf8)o1 : new Utf8(o1.toString()); Utf8 u2 = o2 instanceof Utf8 ? (Utf8)o2 : new Utf8(o2.toString()); return u1.compareTo(u2); default: return ((Comparable)o1).compareTo(o2);
@Test public void testCompareStartsWith() { Utf8 first = new Utf8("abcd"); Utf8 second = new Utf8("abc"); // first <=> second int cmp = first.compareTo(second); Assert.assertEquals("Utf8 and String compareTo should agree", cmp, first.toString().compareTo(second.toString())); Assert.assertEquals("compare(Utf8,Utf8)", cmp, CharSequences.compare(first, second)); Assert.assertEquals("compare(String,Utf8)", cmp, CharSequences.compare(first.toString(), second)); Assert.assertEquals("compare(Utf8,String)", cmp, CharSequences.compare(first, second.toString())); Assert.assertEquals("compare(String,String)", cmp, CharSequences.compare(first.toString(), second.toString())); // second <=> first cmp = second.compareTo(first); Assert.assertEquals("Utf8 and String compareTo should agree", cmp, second.toString().compareTo(first.toString())); Assert.assertEquals("compare(Utf8,Utf8)", cmp, CharSequences.compare(second, first)); Assert.assertEquals("compare(String,Utf8)", cmp, CharSequences.compare(second.toString(), first)); Assert.assertEquals("compare(Utf8,String)", cmp, CharSequences.compare(second, first.toString())); Assert.assertEquals("compare(String,String)", cmp, CharSequences.compare(second.toString(), first.toString())); }
@Test public void testCompareDifferBeforeEnd() { Utf8 first = new Utf8("abcd"); Utf8 second = new Utf8("abd"); // first <=> second int cmp = first.compareTo(second); Assert.assertEquals("Utf8 and String compareTo should agree", cmp, first.toString().compareTo(second.toString())); Assert.assertEquals("compare(Utf8,Utf8)", cmp, CharSequences.compare(first, second)); Assert.assertEquals("compare(String,Utf8)", cmp, CharSequences.compare(first.toString(), second)); Assert.assertEquals("compare(Utf8,String)", cmp, CharSequences.compare(first, second.toString())); Assert.assertEquals("compare(String,String)", cmp, CharSequences.compare(first.toString(), second.toString())); // second <=> first cmp = second.compareTo(first); Assert.assertEquals("Utf8 and String compareTo should agree", cmp, second.toString().compareTo(first.toString())); Assert.assertEquals("compare(Utf8,Utf8)", cmp, CharSequences.compare(second, first)); Assert.assertEquals("compare(String,Utf8)", cmp, CharSequences.compare(second.toString(), first)); Assert.assertEquals("compare(Utf8,String)", cmp, CharSequences.compare(second, first.toString())); Assert.assertEquals("compare(String,String)", cmp, CharSequences.compare(second.toString(), first.toString())); }
int cmp = first.compareTo(first); Assert.assertEquals("Utf8 and String compareTo should agree", cmp, first.toString().compareTo(first.toString())); cmp = first.compareTo(second); Assert.assertEquals("Utf8 and String compareTo should agree", cmp, first.toString().compareTo(second.toString())); cmp = second.compareTo(first); Assert.assertEquals("Utf8 and String compareTo should agree", cmp, second.toString().compareTo(first.toString()));