use kotlin Iterable/Iterator

instead of java Iterable/Iterator
in Kotlin code in tests
This commit is contained in:
Svetlana Isakova
2012-08-14 15:06:02 +04:00
parent 701295fc04
commit df93a26839
14 changed files with 25 additions and 30 deletions
@@ -16,7 +16,7 @@ fun box() : String {
}
if(sum != 15) return "c5 failed"
val c1: java.lang.Iterable<Int> = MyCollection1()
val c1: Iterable<Int> = MyCollection1()
sum = 0
for (el in c1) {
sum = sum + el!!
@@ -77,15 +77,14 @@ fun box() : String {
return "OK"
}
class MyCollection1(): java.lang.Iterable<Int> {
override fun iterator(): java.util.Iterator<Int> = MyIterator()
class MyCollection1(): Iterable<Int> {
override fun iterator(): Iterator<Int> = MyIterator()
class MyIterator(): java.util.Iterator<Int> {
class MyIterator(): Iterator<Int> {
var k : Int = 5
override fun next() : Int = k--
override fun hasNext() = k > 0
override fun remove() {}
}
}
@@ -96,8 +95,7 @@ class MyCollection2(): Iterable<Int> {
var k : Int = 5
override fun next() : Int = k--
override val hasNext : Boolean
get() = k > 0
override fun hasNext() : Boolean = k > 0
}
}
@@ -108,8 +106,7 @@ class MyCollection3() {
var k : Int = 5
fun next() : Int? = k--
val hasNext : Boolean
get() = k > 0
fun hasNext() : Boolean = k > 0
}
}
@@ -2,8 +2,6 @@ package mask
import java.io.*
import java.util.*
import java.util.Iterator as It
import java.lang.Iterable as Itl
fun box() : String {
val input = StringReader("/Users/abreslav/work/jet/docs/luhnybin/src/test")
@@ -88,7 +88,7 @@ class Luhny() {
// fun Char.isDigit() = Character.isDigit(this)
fun java.lang.Iterable<Int>.sum(f : (index : Int, value : Int) -> Int) : Int {
fun Iterable<Int>.sum(f : (index : Int, value : Int) -> Int) : Int {
var sum = 0
var i = 0
for (d in this) {
@@ -6,6 +6,6 @@ val test2 = javaClass<Iterator<Int>> ()
fun box(): String {
if(test.getCanonicalName() != "java.lang.String") return "fail"
if(test2.getCanonicalName() != "jet.Iterator") return "fail"
if(test2.getCanonicalName() != "java.util.Iterator") return "fail"
return "OK"
}
+4 -4
View File
@@ -2,8 +2,8 @@ trait ISized {
val size : Int
}
trait javaUtilIterator<T> : java.util.Iterator<T> {
override fun remove() : Unit {
trait javaUtilIterator<T> : Iterator<T> {
fun remove() : Unit {
throw UnsupportedOperationException()
}
}
@@ -16,14 +16,14 @@ class MyIterator<T>(val array : ReadOnlyArray<T>) : javaUtilIterator<T> {
override fun next() : T = array.get(index++)
}
trait ReadOnlyArray<out T> : ISized, java.lang.Iterable<T> {
trait ReadOnlyArray<out T> : ISized, Iterable<T> {
fun get(index : Int) : T
class Default {
fun check(v: Any) = v is T
}
override fun iterator() : java.util.Iterator<T> = MyIterator<T>(this)
override fun iterator() : Iterator<T> = MyIterator<T>(this)
}
trait WriteOnlyArray<in T> : ISized {