Migrate testdata to new lambda syntax

This commit is contained in:
Stanislav Erokhin
2015-04-03 13:40:07 +03:00
parent b703f59e04
commit 3de0dff575
134 changed files with 263 additions and 277 deletions
@@ -32,7 +32,7 @@ fun assertAllEqual<T>(c: Iterable<out T>) {
val hashCoder: (o: Any) -> Int = { o -> o.hashCode() }
val <T> wrapInH = { (t: T) -> Holder(t) }
val <T> wrapInH = { t: T -> Holder(t) }
fun box(): String {
@@ -7,7 +7,7 @@ class A(val value: Int) : Comparable<A> {
class B(val value: Int)
fun testExtensionFunctionAsCompareTo() {
val compareTo: B.( B ) -> Int = { (other) -> other.value compareTo this.value }
val compareTo: B.( B ) -> Int = { other -> other.value compareTo this.value }
val x: B = B(100)
val y: B = B(200)
@@ -2,7 +2,7 @@ package foo
fun box(): Boolean {
var sum = 0
val adder = {(a: Int) -> sum += a }
val adder = { a: Int -> sum += a }
adder(3)
adder(2)
return sum == 5
@@ -1,7 +1,7 @@
package foo
fun box(): String {
return apply("OK", {(arg: String) -> arg })
return apply("OK", { arg: String -> arg })
}
fun apply(arg: String, f: (p: String) -> String): String {
@@ -1,7 +1,7 @@
package foo
fun box(): String {
return if (apply(5, {(arg: Int) -> arg + 13 }) == 18) "OK" else "fail"
return if (apply(5, { arg: Int -> arg + 13 }) == 18) "OK" else "fail"
}
fun apply(arg: Int, f: (p: Int) -> Int): Int {
@@ -2,7 +2,7 @@ package foo
class Point(val x: Int, val y: Int) {
fun mul(): (scalar: Int) -> Point {
return {(scalar: Int): Point -> Point(x * scalar, y * scalar) }
return { scalar: Int -> Point(x * scalar, y * scalar) }
}
}
@@ -2,8 +2,8 @@ package foo
import java.util.*;
val d = {(a: Int) -> a + 1 }
val p = {(a: Int) -> a * 3 }
val d = { a: Int -> a + 1 }
val p = { a: Int -> a * 3 }
val list = ArrayList<Function1<Int, Int>>();
@@ -35,7 +35,7 @@ fun box(): Boolean {
if (chain(2) != -19) {
return false;
}
if (({(a: Int) -> a * a }(3)) != 9) {
if (({ a: Int -> a * a }(3)) != 9) {
return false;
}
return true;
@@ -10,7 +10,7 @@ fun Int.foo2(): (i: Int) -> Int {
fun fooT1<T>(t: T) = { t.toString() }
fun fooT2<T>(t: T) = {(x: T) -> t.toString() + x.toString() }
fun fooT2<T>(t: T) = { x: T -> t.toString() + x.toString() }
fun box(): Any? {
if ( (10.foo1())() != "23910") return "foo1 fail"
@@ -18,7 +18,7 @@ fun box(): Any? {
if (1.{ Int.() -> this + 1 }() != 2) return "test 3 failed";
if ( { 1 }() != 1) return "test 4 failed";
if ( {(x: Int) -> x }(1) != 1) return "test 5 failed";
if ( { x: Int -> x }(1) != 1) return "test 5 failed";
if ( 1.{ Int.(x: Int) -> x + this }(1) != 2) return "test 6 failed";
val tmp = 1.({ Int.() -> this })()
if (+tmp != 1) return "test 7 failed, res: $tmp ${tmp is Int}";
@@ -2,7 +2,7 @@ package foo
fun box(): Boolean {
var sum = 0
val addFive = {(a: Int) -> a + 5 }
val addFive = { a: Int -> a + 5 }
sum = addFive(sum)
return sum == 5
}
@@ -8,7 +8,7 @@ fun box(): Boolean {
it + 2
} != 3) return false
if (f() {(a: Int) -> a * 300 } != 300) return false;
if (f() { a: Int -> a * 300 } != 300) return false;
return true
}
@@ -6,5 +6,5 @@ fun apply(f: (Int) -> Int, t: Int): Int {
fun box(): Boolean {
return apply({(a: Int) -> a + 5 }, 3) == 8
return apply({ a: Int -> a + 5 }, 3) == 8
}
@@ -5,7 +5,7 @@ var b = 0
fun loop(times: Int) {
var left = times
while (left > 0) {
val u = {(value: Int) ->
val u = { value: Int ->
b = b + 1
}
u(left--)
@@ -134,8 +134,8 @@ trait TestPublicInTrait {
public fun boo(): Int = 2
}
val public_in_trait_f = { (obj: TestPublicInTrait) -> obj.foo() + obj.foo }
val public_in_trait_b = { (obj: TestPublicInTrait) -> obj.boo() + obj.boo }
val public_in_trait_f = { obj: TestPublicInTrait -> obj.foo() + obj.foo }
val public_in_trait_b = { obj: TestPublicInTrait -> obj.boo() + obj.boo }
trait TestInternalInTrait {
fun foo(): Int = 2
@@ -144,8 +144,8 @@ trait TestInternalInTrait {
fun boo(): Int = 2
}
val internal_in_trait_f = { (obj: TestInternalInTrait) -> obj.foo() + obj.foo }
val internal_in_trait_b = { (obj: TestInternalInTrait) -> obj.boo() + obj.boo }
val internal_in_trait_f = { obj: TestInternalInTrait -> obj.foo() + obj.foo }
val internal_in_trait_b = { obj: TestInternalInTrait -> obj.boo() + obj.boo }
//Testing
@@ -1,6 +1,6 @@
package foo
fun box(): String {
var foo = {(x: String) -> x + "K" }
var foo = { x: String -> x + "K" }
return foo.invoke("O")
}
@@ -1,9 +1,9 @@
package foo
fun box(): Boolean {
val v1 = {(x: Int) -> x}(2)
val v1 = { x: Int -> x}(2)
val f = {(x: Int) -> x}
val f = { x: Int -> x}
val v2 = (f)(2)
return v1 == 2 && v2 == 2
@@ -13,7 +13,7 @@ fun box(): String {
if (foo()() != "##") return "fail3"
if (foo()(42) != "#42") return "fail4"
if ((foo())(42) != "#42") return "fail5"
if ({() -> A()}()() != "##") return "fail6"
if ({() -> A()}()(37) != "#37") return "fail7"
if ({ -> A()}()() != "##") return "fail6"
if ({ -> A()}()(37) != "#37") return "fail7"
return "OK"
}
@@ -19,6 +19,6 @@ fun box(): String {
list.add(5)
val m: ArrayList<Int> = list.findAll<Int>({(name: Int) -> name < 4 })
val m: ArrayList<Int> = list.findAll<Int>({ name: Int -> name < 4 })
return if (m.size() == 2) "OK" else "fail"
}
@@ -26,18 +26,18 @@ class Inline(val res: Int) {
}
fun doWork(l : InlineX) : Int {
return l.calcInt({(a: Int, b: Int) -> a + b})
return l.calcInt({ a: Int, b: Int -> a + b})
}
fun doWorkWithDouble(s : Double) : Double {
return s.calcDouble({(a: Int, b: Double) -> a + b})
return s.calcDouble({ a: Int, b: Double -> a + b})
}
}
fun test1(): Int {
val inlineX = Inline(9)
return inlineX.calcExt({(z: Int) -> z}, 25)
return inlineX.calcExt({ z: Int -> z}, 25)
}
fun test2(): Int {
@@ -58,7 +58,7 @@ fun test4(): Double {
fun test5(): Double {
val inlineX = Inline(9)
with(inlineX) {
11.0.calcDouble{(a: Int, b: Double) -> a + b}
11.0.calcDouble{ a: Int, b: Double -> a + b}
}
return inlineX.doWorkWithDouble(11.0)
}
@@ -6,7 +6,7 @@ class A(val a: Int)
inline fun <T, R> with2(receiver: T, arg1: R, arg2: R, f: T.(R, R) -> R): R = receiver.f(arg1, arg2)
fun multiply(a: Int, b: Int, c: Int): Int = with2(A(a), b, c) { (x, y) -> a*x*y }
fun multiply(a: Int, b: Int, c: Int): Int = with2(A(a), b, c) { x, y -> a*x*y }
fun box(): String {
assertEquals(105, multiply(3, 5, 7))
@@ -11,7 +11,7 @@ inline fun <T> doNothing2(a: T, inline f: (T) -> T): T {
}
fun doNothingNoInline(a: Int): Int {
return doNothing2(a, {(x) -> doNothing1(x)})
return doNothing2(a, { x -> doNothing1(x)})
}
fun box(): String {
@@ -16,7 +16,7 @@ inline fun filteredReduce(a: Array<Int>, inline predicate: (Int) -> Boolean, inl
}
fun sumEven(a: Array<Int>): Int {
return filteredReduce(a, {(x) -> x % 2 == 0}, {(x, y) -> x + y})
return filteredReduce(a, { x -> x % 2 == 0}, { x, y -> x + y})
}
fun box(): String {
@@ -22,7 +22,7 @@ inline fun maxBy(a: Array<Int>, inline keyFun: (Int) -> Int): Int {
fun maxBySquare(a: Array<Int>, r: Result): Result {
var invocationCount = 0
val maxVal = maxBy(a, {(x) -> invocationCount++; x * x;})
val maxVal = maxBy(a, { x -> invocationCount++; x * x;})
r.value = maxVal
r.invocationCount = invocationCount
@@ -5,14 +5,14 @@ inline fun run(func: () -> Int): Int {
}
fun bar(): Int {
var f = { () -> 0 }
var f = { -> 0 }
var get0 = f
f = { () -> 1 }
f = { -> 1 }
var get1 = f
var get2 = get1
f = { () -> 2 }
f = { -> 2 }
get2 = f
return run(get0) + run(get1) + run(get2)
@@ -7,14 +7,14 @@ inline fun run(func: () -> Int): Int {
}
fun bar(p: IntPair): Int {
var f = { () -> p.fst++ }
var f = { -> p.fst++ }
var get0 = f
f = { () -> ++p.snd }
f = { -> ++p.snd }
var get1 = f
var get2 = get1
f = { () -> ++p.fst }
f = { -> ++p.fst }
get2 = f
return run(get0) + run(get1) + run(get2)
@@ -22,23 +22,23 @@ class Inline() {
fun test1(): Int {
val inlineX = Inline()
return inlineX.foo1Int({(z: Int) -> z}, 25)
return inlineX.foo1Int({ z: Int -> z}, 25)
}
fun test2(): Double {
val inlineX = Inline()
return inlineX.foo1Double(25.0, {(z: Double) -> z})
return inlineX.foo1Double(25.0, { z: Double -> z})
}
fun test3(): Double {
val inlineX = Inline()
return inlineX.foo2Param(15.0, {(z1: Int, z2: Double) -> z1 + z2}, 10)
return inlineX.foo2Param(15.0, { z1: Int, z2: Double -> z1 + z2}, 10)
}
fun test3WithCaptured(): Double {
val inlineX = Inline()
var c = 11.0;
return inlineX.foo2Param(15.0, {(z1: Int, z2: Double) -> z1 + z2 + c}, 10)
return inlineX.foo2Param(15.0, { z1: Int, z2: Double -> z1 + z2 + c}, 10)
}
@@ -18,18 +18,18 @@ class Inline() {
fun test1(): Double {
val inlineX = Inline()
return inlineX.foo1({(z: Int) -> z}, 25, {(z: Double) -> z}, 11.5)
return inlineX.foo1({ z: Int -> z}, 25, { z: Double -> z}, 11.5)
}
fun test1WithCaptured(): Double {
val inlineX = Inline()
var d = 0.0;
return inlineX.foo1({(z: Int) -> d = 1.0; z}, 25, {(z: Double) -> z + d}, 11.5)
return inlineX.foo1({ z: Int -> d = 1.0; z}, 25, { z: Double -> z + d}, 11.5)
}
fun test2(): Double {
val inlineX = Inline()
return inlineX.foo2({(z: Int, p: Int) -> z + p}, 25, {(x: Double, y: Int, z: Int) -> z + x + y}, 11.5, 2)
return inlineX.foo2({ z: Int, p: Int -> z + p}, 25, { x: Double, y: Int, z: Int -> z + x + y}, 11.5, 2)
}
fun box(): String {
@@ -31,40 +31,40 @@ class InlineDouble(val res : Double) {
fun test0Param(): Double {
val inlineX = InlineDouble(10.0)
return inlineX.foo({() -> 1.0})
return inlineX.foo({ -> 1.0})
}
fun test1Param(): Double {
val inlineX = InlineDouble(10.0)
return inlineX.foo11({(z: Double) -> z})
return inlineX.foo11({ z: Double -> z})
}
fun test1ParamCaptured(): Double {
val s = 100.0
val inlineX = InlineDouble(10.0)
return inlineX.foo11({(z: Double) -> s})
return inlineX.foo11({ z: Double -> s})
}
fun test1ParamMissed() : Double {
val inlineX = InlineDouble(10.0)
return inlineX.foo11({(z: Double) -> 111.0})
return inlineX.foo11({ z: Double -> 111.0})
}
fun test1ParamFromCallContext() : Double {
val inlineX = InlineDouble(1000.0)
return inlineX.fooRes({(z: Double) -> z})
return inlineX.fooRes({ z: Double -> z})
}
fun test2Params() : Double {
val inlineX = InlineDouble(1000.0)
return inlineX.fooRes2({(y: Double, z: Double) -> 2.0 * y + 3.0 * z})
return inlineX.fooRes2({ y: Double, z: Double -> 2.0 * y + 3.0 * z})
}
fun test2ParamsWithCaptured() : Double {
val inlineX = InlineDouble(1000.0)
val s = 9.0
var t = 1.0
return inlineX.fooRes2({(y: Double, z: Double) -> 2.0 * s + t})
return inlineX.fooRes2({ y: Double, z: Double -> 2.0 * s + t})
}
fun box(): String {
@@ -31,40 +31,40 @@ class Inline(val res : Int) {
fun test0Param(): Int {
val inlineX = Inline(10)
return inlineX.foo({() -> 1})
return inlineX.foo({ -> 1})
}
fun test1Param(): Int {
val inlineX = Inline(10)
return inlineX.foo11({(z: Int) -> z})
return inlineX.foo11({ z: Int -> z})
}
fun test1ParamCaptured(): Int {
val s = 100
val inlineX = Inline(10)
return inlineX.foo11({(z: Int) -> s})
return inlineX.foo11({ z: Int -> s})
}
fun test1ParamMissed() : Int {
val inlineX = Inline(10)
return inlineX.foo11({(z: Int) -> 111})
return inlineX.foo11({ z: Int -> 111})
}
fun test1ParamFromCallContext() : Int {
val inlineX = Inline(1000)
return inlineX.fooRes({(z: Int) -> z})
return inlineX.fooRes({ z: Int -> z})
}
fun test2Params() : Int {
val inlineX = Inline(1000)
return inlineX.fooRes2({(y: Int, z: Int) -> 2 * y + 3 * z})
return inlineX.fooRes2({ y: Int, z: Int -> 2 * y + 3 * z})
}
fun test2ParamsWithCaptured() : Int {
val inlineX = Inline(1000)
val s = 9
var t = 1
return inlineX.fooRes2({(y: Int, z: Int) -> 2 * s + t})
return inlineX.fooRes2({ y: Int, z: Int -> 2 * s + t})
}
fun box(): String {
@@ -31,40 +31,40 @@ class InlineString(val res : String) {
fun test0Param(): String {
val inlineX = InlineString("10")
return inlineX.foo({() -> "1"})
return inlineX.foo({ -> "1"})
}
fun test1Param(): String {
val inlineX = InlineString("10")
return inlineX.foo11({(z: String) -> z})
return inlineX.foo11({ z: String -> z})
}
fun test1ParamCaptured(): String {
val s = "100"
val inlineX = InlineString("10")
return inlineX.foo11({(z: String) -> s})
return inlineX.foo11({ z: String -> s})
}
fun test1ParamMissed() : String {
val inlineX = InlineString("10")
return inlineX.foo11({(z: String) -> "111"})
return inlineX.foo11({ z: String -> "111"})
}
fun test1ParamFromCallContext() : String {
val inlineX = InlineString("1000")
return inlineX.fooRes({(z: String) -> z})
return inlineX.fooRes({ z: String -> z})
}
fun test2Params() : String {
val inlineX = InlineString("1000")
return inlineX.fooRes2({(y: String, z: String) -> y + "0" + z})
return inlineX.fooRes2({ y: String, z: String -> y + "0" + z})
}
fun test2ParamsWithCaptured() : String {
val inlineX = InlineString("1000")
val s = "9"
var t = "1"
return inlineX.fooRes2({(y: String, z: String) -> s + t})
return inlineX.fooRes2({ y: String, z: String -> s + t})
}
fun box(): String {
@@ -7,7 +7,7 @@ package foo
fun test1(): Int {
val inlineX = Inline()
return inlineX.foo({(z: Int) -> "" + z}, 25, {String.() -> this.length})
return inlineX.foo({ z: Int -> "" + z}, 25, {String.() -> this.length})
}
fun box(): String {
@@ -8,7 +8,7 @@ package foo
fun testAll(): String {
val inlineX = InlineAll()
return inlineX.inline({(a1: Int, a2: Double, a3: Double, a4: String, a5: Long) ->
return inlineX.inline({ a1: Int, a2: Double, a3: Double, a4: String, a5: Long ->
"" + a1 + a2 + a3 + a4 + a5},
1, 12.5, 13.5, "14", 15)
}
@@ -26,7 +26,7 @@ fun testAllWithCapturedVal(): String {
val c8 = 27
val c9 = 28.5
return inlineX.inline({(a1: Int, a2: Double, a3: Double, a4: String, a5: Long) ->
return inlineX.inline({ a1: Int, a2: Double, a3: Double, a4: String, a5: Long ->
"" + a1 + a2 + a3 + a4 + a5 + c1 + c2 + c3 + c4 + c5 + c6 + c7 + c8 + c9},
1, 12.5, 13.5, "14", 15)
}
@@ -44,7 +44,7 @@ fun testAllWithCapturedVar(): String {
var c8 = 27
val c9 = 28.5
return inlineX.inline({(a1: Int, a2: Double, a3: Double, a4: String, a5: Long) ->
return inlineX.inline({ a1: Int, a2: Double, a3: Double, a4: String, a5: Long ->
"" + a1 + a2 + a3 + a4 + a5 + c1 + c2 + c3 + c4 + c5 + c6 + c7 + c8 + c9},
1, 12.5, 13.5, "14", 15)
}
@@ -62,7 +62,7 @@ fun testAllWithCapturedValAndVar(): String {
var c8 = 27
val c9 = 28.5
return inlineX.inline({(a1: Int, a2: Double, a3: Double, a4: String, a5: Long) ->
return inlineX.inline({ a1: Int, a2: Double, a3: Double, a4: String, a5: Long ->
"" + a1 + a2 + a3 + a4 + a5 + c1 + c2 + c3 + c4 + c5 + c6 + c7 + c8 + c9},
1, 12.5, 13.5, "14", 15)
}
@@ -6,7 +6,7 @@
package foo
fun testAll(): String {
return inline({(a1: Int, a2: Double, a3: Double, a4: String, a5: Long) ->
return inline({ a1: Int, a2: Double, a3: Double, a4: String, a5: Long ->
"" + a1 + a2 + a3 + a4 + a5},
1, 12.5, 13.5, "14", 15)
}
@@ -22,7 +22,7 @@ fun testAllWithCapturedVal(): String {
val c8 = 27
val c9 = 28.5
return inline({(a1: Int, a2: Double, a3: Double, a4: String, a5: Long) ->
return inline({ a1: Int, a2: Double, a3: Double, a4: String, a5: Long ->
"" + a1 + a2 + a3 + a4 + a5 + c1 + c2 + c3 + c4 + c5 + c6 + c7 + c8 + c9},
1, 12.5, 13.5, "14", 15)
}
@@ -38,7 +38,7 @@ fun testAllWithCapturedVar(): String {
var c8 = 27
val c9 = 28.5
return inline({(a1: Int, a2: Double, a3: Double, a4: String, a5: Long) ->
return inline({ a1: Int, a2: Double, a3: Double, a4: String, a5: Long ->
"" + a1 + a2 + a3 + a4 + a5 + c1 + c2 + c3 + c4 + c5 + c6 + c7 + c8 + c9},
1, 12.5, 13.5, "14", 15)
}
@@ -54,7 +54,7 @@ fun testAllWithCapturedValAndVar(): String {
var c8 = 27
val c9 = 28.5
return inline({(a1: Int, a2: Double, a3: Double, a4: String, a5: Long) ->
return inline({ a1: Int, a2: Double, a3: Double, a4: String, a5: Long ->
"" + a1 + a2 + a3 + a4 + a5 + c1 + c2 + c3 + c4 + c5 + c6 + c7 + c8 + c9},
1, 12.5, 13.5, "14", 15)
}
@@ -24,7 +24,7 @@ fun test11(): Int {
throw RuntimeExceptionWithValue("2")
}
},
{(ex, thizz) ->
{ ex, thizz ->
if (ex.value == "2") {
thizz.value
} else {
@@ -55,7 +55,7 @@ fun test22(): Int {
111
}
},
{(ex, thizz) ->
{ ex, thizz ->
-11111
})
@@ -87,7 +87,7 @@ fun test33(): Int {
throw RuntimeExceptionWithValue("-2")
}
},
{(ex, thizz) ->
{ ex, thizz ->
if (ex.value == "-2") {
throw RuntimeExceptionWithValue("-3")
} else {
@@ -55,7 +55,7 @@ fun test3(): Int {
result = it.value;
throw RuntimeException("-1")
},
{ (e, z)->
{ e, z ->
++result
throw RuntimeException("-2")
},
@@ -4,7 +4,7 @@ val Int.abs: Int
get() = if (this >= 0) this else -this
fun test(xs: List<Int>): List<Int> =
xs.sortBy(comparator {(a, b) -> a.abs.compareTo(b.abs) })
xs.sortBy(comparator { a, b -> a.abs.compareTo(b.abs) })
fun box(): String {
assertEquals(listOf(1, -2, 3, -4), test(listOf(-2, 1, -4, 3)))
@@ -5,7 +5,7 @@ fun callWithArgs(sumFunc: (Int, Int) -> Int, a: Int, b: Int): Int {
}
fun box(): String {
val kotlinSum: (Int, Int) -> Int = {(a, b) -> a + b}
val kotlinSum: (Int, Int) -> Int = { a, b -> a + b}
val jsSum: (Int, Int) -> Int = js("function (a, b) { return a + b; }")
assertEquals(callWithArgs(kotlinSum, 1, 2), callWithArgs(jsSum, 1, 2))
@@ -3,7 +3,7 @@ package foo
fun run<A, B, C>(a: A, b: B, func: (A, B) -> C): C = js("func(a, b)")
fun box(): String {
assertEquals(3, run(1, 2) {(a, b) -> a + b})
assertEquals(3, run(1, 2) { a, b -> a + b})
return "OK"
}
@@ -1,6 +1,6 @@
package foo
val f = {(i: Int) -> i + 1 }
val f = { i: Int -> i + 1 }
val a = Array(3, f)
@@ -1,6 +1,6 @@
package foo
val a1 = Array<Int>(3, {(i: Int) -> i })
val a1 = Array<Int>(3, { i: Int -> i })
fun box(): Boolean {
val i = a1.iterator()