Transform *Array.size to properties

This commit is contained in:
Denis Zharkov
2015-10-14 13:56:18 +03:00
parent b050324869
commit bd37a10677
38 changed files with 147 additions and 107 deletions
+1 -1
View File
@@ -4,7 +4,7 @@ import java.util.HashSet
fun iarray(vararg a : Int) = a // BUG
val IntArray.indices: IntRange get() = IntRange(0, lastIndex())
fun IntArray.lastIndex() = size() - 1
fun IntArray.lastIndex() = size - 1
fun box() : String {
val vals = iarray(789, 678, 567, 456, 345, 234, 123, 12)
+17 -17
View File
@@ -50,21 +50,21 @@ fun box(): String {
val aZ = BooleanArray(3)
if (barB(*aB, 23.toByte()).size() != 4) return "fail: Byte"
if (barB(11.toByte(), *aB, 23.toByte(), *aB).size() != 8) return "fail: Byte"
if (barB(*aB, 23.toByte()).size != 4) return "fail: Byte"
if (barB(11.toByte(), *aB, 23.toByte(), *aB).size != 8) return "fail: Byte"
if (barC(*aC, 'A').size() != 4) return "fail: Char"
if (barC('A', *aC, 'A', *aC).size() != 8) return "fail: Char"
if (barC(*aC, 'A').size != 4) return "fail: Char"
if (barC('A', *aC, 'A', *aC).size != 8) return "fail: Char"
if (barD(*aD, 2.3).size() != 4) return "fail: Double"
if (barD(*aD, *aD, 2.3).size() != 7) return "fail: Double"
if (barD(*aD, 2.3).size != 4) return "fail: Double"
if (barD(*aD, *aD, 2.3).size != 7) return "fail: Double"
if (barF(*aF, 2.3f).size() != 4) return "fail: Float"
if (barF(*aF, 2.3f, 1.1f).size() != 5) return "fail: Float"
if (barF(*aF, 2.3f).size != 4) return "fail: Float"
if (barF(*aF, 2.3f, 1.1f).size != 5) return "fail: Float"
if (barI(*aI, 23).size() != 4) return "fail: Int"
if (barI(11, 10, *aI, 23).size() != 6) return "fail: Int"
if (barI(100, *aI, *aI).size() != 7) return "fail: Int 3"
if (barI(*aI, 23).size != 4) return "fail: Int"
if (barI(11, 10, *aI, 23).size != 6) return "fail: Int"
if (barI(100, *aI, *aI).size != 7) return "fail: Int 3"
if (sumInt(100, *aI) != 106) return "fail: sumInt 1"
if (sumInt(100, *aI, 200) != 306) return "fail: sumInt 2"
@@ -80,14 +80,14 @@ fun box(): String {
if (concatParameters(*aI, 7, 8, *bI) != "1237845") return "fail: concatParameters 6"
if (concatParameters(*aI, 7, *bI, *aI, 9) != "1237451239") return "fail: concatParameters 7"
if (barJ(*aJ, 23L).size() != 4) return "fail: Long"
if (barJ(*aJ, 23L, *aJ, *aJ).size() != 10) return "fail: Long"
if (barJ(*aJ, 23L).size != 4) return "fail: Long"
if (barJ(*aJ, 23L, *aJ, *aJ).size != 10) return "fail: Long"
if (barS(*aS, 23.toShort()).size() != 4) return "fail: Short"
if (barS(*aS, *aS, 23.toShort(), *aS).size() != 10) return "fail: Short"
if (barS(*aS, 23.toShort()).size != 4) return "fail: Short"
if (barS(*aS, *aS, 23.toShort(), *aS).size != 10) return "fail: Short"
if (barZ(*aZ, true).size() != 4) return "fail: Boolean"
if (barZ(false, *aZ, true, *aZ).size() != 8) return "fail: Boolean"
if (barZ(*aZ, true).size != 4) return "fail: Boolean"
if (barZ(false, *aZ, true, *aZ).size != 8) return "fail: Boolean"
return "OK"
}
@@ -3,13 +3,13 @@ fun foo(a: Int, vararg b: Int, f: (IntArray) -> String): String {
}
fun box(): String {
val test1 = foo(1) {a -> "" + a.size()}
val test1 = foo(1) {a -> "" + a.size}
if (test1 != "test1 0") return test1
val test2 = foo(2, 2) {a -> "" + a.size()}
val test2 = foo(2, 2) {a -> "" + a.size}
if (test2 != "test2 1") return test2
val test3 = foo(3, 2, 3) {a -> "" + a.size()}
val test3 = foo(3, 2, 3) {a -> "" + a.size}
if (test3 != "test3 2") return test3
return "OK"