From 8c81ec9e427ce97daf9ef74cfdb058eadaa24860 Mon Sep 17 00:00:00 2001 From: Eugen Paraschiv Date: Fri, 25 Oct 2013 11:42:44 +0300 Subject: [PATCH] guava examples for ordering --- .../collections/GuavaOrderingExamplesTest.java | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) diff --git a/guava/src/test/java/org/baeldung/guava/collections/GuavaOrderingExamplesTest.java b/guava/src/test/java/org/baeldung/guava/collections/GuavaOrderingExamplesTest.java index c1539d2af8..660411f76f 100644 --- a/guava/src/test/java/org/baeldung/guava/collections/GuavaOrderingExamplesTest.java +++ b/guava/src/test/java/org/baeldung/guava/collections/GuavaOrderingExamplesTest.java @@ -1,5 +1,6 @@ package org.baeldung.guava.collections; +import static org.hamcrest.Matchers.equalTo; import static org.hamcrest.Matchers.nullValue; import static org.junit.Assert.assertThat; @@ -10,6 +11,7 @@ import java.util.List; import org.junit.Test; import com.google.common.collect.Ordering; +import com.google.common.primitives.Ints; public class GuavaOrderingExamplesTest { @@ -35,4 +37,20 @@ public class GuavaOrderingExamplesTest { Collections.sort(nums, Ordering.natural().nullsLast().reverse()); assertThat(nums.get(0), nullValue()); } + + @Test + public final void whenSortingCollectionsOfStringsByLenght_thenCorrectlySorted() { + final List toSort = Arrays.asList("aa", "b", null, "ccc"); + final Ordering byLength = new Ordering() { + @Override + public int compare(final String s1, final String s2) { + return Ints.compare(s1.length(), s2.length()); + } + }; + + Collections.sort(toSort, byLength.nullsFirst()); + assertThat(toSort.get(0), nullValue()); + assertThat(toSort.get(1), equalTo("b")); + } + }