@Override @SuppressWarnings("unchecked") public int compare(T o1, T o2) { Assert.state(!this.comparators.isEmpty(), "No sort definitions have been added to this CompoundComparator to compare"); for (InvertibleComparator comparator : this.comparators) { int result = comparator.compare(o1, o2); if (result != 0) { return result; } } return 0; }
@Override @SuppressWarnings("unchecked") public int compare(T o1, T o2) { Assert.state(!this.comparators.isEmpty(), "No sort definitions have been added to this CompoundComparator to compare"); for (InvertibleComparator comparator : this.comparators) { int result = comparator.compare(o1, o2); if (result != 0) { return result; } } return 0; }
@Test public void shouldCompareAscending() throws Exception { InvertibleComparator<Integer> invertibleComparator = new InvertibleComparator<>(comparator, true); assertThat(invertibleComparator.compare(1, 2), is(-1)); }
@Test public void shouldCompareDescending() throws Exception { InvertibleComparator<Integer> invertibleComparator = new InvertibleComparator<>(comparator, false); assertThat(invertibleComparator.compare(1, 2), is(1)); }
@Test public void shouldInvert() throws Exception { InvertibleComparator<Integer> invertibleComparator = new InvertibleComparator<>(comparator); assertThat(invertibleComparator.isAscending(), is(true)); assertThat(invertibleComparator.compare(1, 2), is(-1)); invertibleComparator.invertOrder(); assertThat(invertibleComparator.isAscending(), is(false)); assertThat(invertibleComparator.compare(1, 2), is(1)); }
@Test public void shouldDefaultToAscending() throws Exception { InvertibleComparator<Integer> invertibleComparator = new InvertibleComparator<>(comparator); assertThat(invertibleComparator.isAscending(), is(true)); assertThat(invertibleComparator.compare(1, 2), is(-1)); }
public int compare(T o1, T o2) { Assert.state(this.comparators.size() > 0, "No sort definitions have been added to this CompoundComparator to compare"); for (InvertibleComparator<T> comparator : this.comparators) { int result = comparator.compare(o1, o2); if (result != 0) { return result; } } return 0; }
@Override @SuppressWarnings("unchecked") public int compare(T o1, T o2) { Assert.state(!this.comparators.isEmpty(), "No sort definitions have been added to this CompoundComparator to compare"); for (InvertibleComparator comparator : this.comparators) { int result = comparator.compare(o1, o2); if (result != 0) { return result; } } return 0; }
@Override @SuppressWarnings("unchecked") public int compare(T o1, T o2) { Assert.state(!this.comparators.isEmpty(), "No sort definitions have been added to this CompoundComparator to compare"); for (InvertibleComparator comparator : this.comparators) { int result = comparator.compare(o1, o2); if (result != 0) { return result; } } return 0; }
public int compare(Object o1, Object o2) { Assert.state(this.comparators.size() > 0, "No sort definitions have been added to this CompoundComparator to compare"); for (Iterator it = this.comparators.iterator(); it.hasNext();) { InvertibleComparator def = (InvertibleComparator) it.next(); int result = def.compare(o1, o2); if (result != 0) { return result; } } return 0; }