Generate elementAtOrNull and elementAtOrElse extension methods for iterables, collections, sequences, etc.

#KT-6952 Fixed
This commit is contained in:
Ilya Gorbunov
2015-04-23 20:02:34 +03:00
parent c420e0f010
commit a5ed5d4269
3 changed files with 336 additions and 41 deletions
@@ -54,6 +54,14 @@ abstract class OrderedIterableTests<T : Iterable<String>>(data: T, empty: T) : I
fails { data.elementAt(2) }
fails { data.elementAt(-1) }
fails { empty.elementAt(0) }
expect("foo") { data.elementAtOrElse(0, {""} )}
expect("zoo") { data.elementAtOrElse(-1, { "zoo" })}
expect("zoo") { data.elementAtOrElse(2, { "zoo" })}
expect("zoo") { empty.elementAtOrElse(0) { "zoo" }}
expect(null) { empty.elementAtOrNull(0) }
}
Test fun first() {