removed unnecessary getOrElse(value) method as we can use ?: (which is neater!) though shame it doesn't work for lazy values, passing a function body which is invoked if the value is not null

This commit is contained in:
James Strachan
2012-02-08 11:45:59 +00:00
parent 04220935e0
commit 659fceecbe
5 changed files with 37 additions and 23 deletions
+17 -4
View File
@@ -8,24 +8,37 @@ class GetOrElseTest() : TestSupport() {
val v2: String? = null
fun testDefaultValue() {
assertEquals("hello", v1.getOrElse("bar"))
assertEquals("hello", v1?: "bar")
expect("hello") {
v1.getOrElse("bar")
v1?: "bar"
}
}
fun testDefaultValueOnNull() {
assertEquals("bar", v2.getOrElse("bar"))
assertEquals("bar", v2?: "bar")
expect("bar") {
v2.getOrElse("bar")
v2?: "bar"
}
}
/** TODO not supported yet?
fun testLazyDefaultValue() {
var counter = 0
assertEquals("hello", v1?: { counter++; "bar"})
assertEquals(counter, 0, "counter should not be incremented yet")
assertEquals("bar", v2?: { counter++; "bar"})
assertEquals(counter, 1, "counter should be incremented in the default function")
}
*/
fun testLazyDefaultValueUsingMethod() {
var counter = 0
assertEquals("hello", v1.getOrElse{ counter++; "bar"})
assertEquals(counter, 0, "counter should not be incremented yet")