#KT-1772 Fixed
This commit is contained in:
@@ -64,3 +64,14 @@ public inline fun <K,V> java.util.Map<K,V>.getOrPut(key: K, defaultValue: ()-> V
|
||||
return answer
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Returns an [[Iterator]] over the entries in the [[Map]]
|
||||
*
|
||||
* @includeFunctionBody ../../test/MapTest.kt iterate
|
||||
*/
|
||||
public inline fun <K,V> java.util.Map<K,V>.iterator(): java.util.Iterator<java.util.Map.Entry<K,V>> {
|
||||
val entrySet = this.entrySet()!!
|
||||
return entrySet.iterator()!!
|
||||
}
|
||||
@@ -3,12 +3,11 @@ package test.collections
|
||||
import kotlin.test.*
|
||||
|
||||
import java.util.*
|
||||
import junit.framework.TestCase
|
||||
import org.junit.Test
|
||||
import org.junit.Test as test
|
||||
|
||||
class MapTest {
|
||||
|
||||
Test fun getOrElse() {
|
||||
test fun getOrElse() {
|
||||
val data = HashMap<String, Int>()
|
||||
val a = data.getOrElse("foo"){2}
|
||||
assertEquals(2, a)
|
||||
@@ -18,7 +17,7 @@ class MapTest {
|
||||
assertEquals(0, data.size())
|
||||
}
|
||||
|
||||
Test fun getOrPut() {
|
||||
test fun getOrPut() {
|
||||
val data = HashMap<String, Int>()
|
||||
val a = data.getOrPut("foo"){2}
|
||||
assertEquals(2, a)
|
||||
@@ -29,13 +28,13 @@ class MapTest {
|
||||
assertEquals(1, data.size())
|
||||
}
|
||||
|
||||
Test fun sizeAndEmpty() {
|
||||
test fun sizeAndEmpty() {
|
||||
val data = HashMap<String, Int>()
|
||||
assertTrue{ data.empty }
|
||||
assertEquals(data.size, 0)
|
||||
}
|
||||
|
||||
Test fun setViaIndexOperators() {
|
||||
test fun setViaIndexOperators() {
|
||||
val map = HashMap<String, String>()
|
||||
assertTrue{ map.empty }
|
||||
assertEquals(map.size, 0)
|
||||
@@ -46,4 +45,49 @@ class MapTest {
|
||||
assertEquals(map.size(), 1)
|
||||
assertEquals("James", map["name"])
|
||||
}
|
||||
|
||||
test fun iterate() {
|
||||
val map = TreeMap<String, String>()
|
||||
map["beverage"] = "beer"
|
||||
map["location"] = "Mells"
|
||||
map["name"] = "James"
|
||||
|
||||
var list = arrayList<String>()
|
||||
for (e in map) {
|
||||
println("key = ${e.getKey()}, value = ${e.getValue()}")
|
||||
|
||||
list.add(e.getKey())
|
||||
list.add(e.getValue())
|
||||
/*
|
||||
// TODO compiler bug
|
||||
list += e.getKey()
|
||||
list += e.getValue()
|
||||
*/
|
||||
}
|
||||
|
||||
assertEquals(6, list.size())
|
||||
assertEquals("beverage,beer,location,Mells,name,James", list.makeString(","))
|
||||
}
|
||||
|
||||
/*
|
||||
TODO compiler bug
|
||||
|
||||
test fun iteratorWithProperties() {
|
||||
val map = TreeMap<String, String>()
|
||||
map["beverage"] = "beer"
|
||||
map["location"] = "Mells"
|
||||
map["name"] = "James"
|
||||
|
||||
var list = arrayList<String>()
|
||||
for (e in map) {
|
||||
println("got $e")
|
||||
println("key = ${e.key}, value = ${e.value}")
|
||||
list += e.key
|
||||
list += e.value
|
||||
}
|
||||
|
||||
assertEquals(6, list.size())
|
||||
assertEquals("beverage,beer,location,Mells,name,James", list.makeString(","))
|
||||
}
|
||||
*/
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user