Merge remote branch 'origin/master'

This commit is contained in:
Andrey Breslav
2011-10-20 14:45:26 +04:00
16 changed files with 215 additions and 133 deletions
@@ -0,0 +1,13 @@
fun box() : String {
val a = Array<String?>(3)
a[0] = "a"
a[1] = "b"
a[2] = "c"
val result = 0
for(i in a.indices) {
result += i
}
if (result != 3) return "FAIL"
return "OK"
}
@@ -13,7 +13,7 @@ trait A {
fun bar(arg: Int = 240) : Int = bar2(arg/2)
}
open abstract class B() : A {
open abstract class B() : A, java.lang.Object() {
fun foo(arg: Int = 239 + 1) : Int = arg
abstract fun foo2(arg: Int = 239) : Int
@@ -23,15 +23,29 @@ open abstract class B() : A {
class C() : B() {
override fun foo2(arg: Int) : Int = arg
fun Any.toMyPrefixedString(prefix: String = "", suffix: String="") : String = prefix + " " + suffix
fun testReceiver() : String {
val res : String = "mama".toMyPrefixedString("111", "222")
System.out?.println(res)
return res
}
override fun toString() : String = "CCC"
}
// fun <T> T.toPrefixedString(prefix: String = "") = prefix + (this as java.lang.Object).toString()
fun <T> T.toPrefixedString(prefix: String = "", suffix: String="") = prefix + (this as java.lang.Object).toString() + suffix
fun box() : String {
val expected = (true, true, true, " ")
// if("mama".toPrefixedString("papa") != "papamama") return "fail"
// if("mama".toPrefixedString() != "mama") return "fail"
if("mama".toPrefixedString(suffix="321", prefix="papa") != "papamama321") return "fail"
if("mama".toPrefixedString(prefix="papa") != "papamama") return "fail"
if("mama".toPrefixedString("papa", "239") != "papamama239") return "fail"
if("mama".toPrefixedString("papa") != "papamama") return "fail"
if("mama".toPrefixedString() != "mama") return "fail"
if(C().testReceiver() != "111 222") return "fail"
if(C().bar(10) != 5) return "fail"
if(C().bar() != 120) return "fail"
if(C().foo(10) != 10) return "fail"
@@ -1,19 +0,0 @@
fun reformat(
str : String,
normalizeCase : Boolean = true,
uppercaseFirstLetter : Boolean = true,
divideByCamelHumps : Boolean = false,
wordSeparator : String = " "
) =
(normalizeCase, uppercaseFirstLetter, divideByCamelHumps, wordSeparator)
fun box() : String {
val expected = (true, true, false, " ")
if(reformat("", true, true, false, " ") != expected) return "fail"
// if(reformat(str="", wordSeparator=" ") != expected) return "fail"
// if(reformat("", true, true, false) != expected) return "fail"
// if(reformat("", true, true) != expected) return "fail"
// if(reformat("", true) != expected) return "fail"
// if(reformat("") != expected) return "fail"
return "OK"
}