Another approach for sorting nulls.

This commit is contained in:
Ilya Gorbunov
2015-08-05 21:43:02 +03:00
parent d49a1973e5
commit 5a4e598ba7
4 changed files with 40 additions and 22 deletions
@@ -827,9 +827,9 @@ class ArraysTest {
test fun sortedNullableBy() {
fun String.nullIfEmpty() = if (isEmpty()) null else this
arrayOf(null, "").let {
expect(listOf(null, "")) { it.sortedWith(compareBy<String> { it }.nullsFirst()) }
expect(listOf("", null)) { it.sortedWith(compareByDescending<String> { it }.nullsLast()) }
expect(listOf("", null)) { it.sortedWith(compareByDescending<String> { it.nullIfEmpty() }.nullsLast() ) }
expect(listOf(null, "")) { it.sortedWith(nullsFirst(compareBy { it })) }
expect(listOf("", null)) { it.sortedWith(nullsLast(compareByDescending { it })) }
expect(listOf("", null)) { it.sortedWith(nullsLast(compareByDescending { it.nullIfEmpty() })) }
}
}