83 lines
2.0 KiB
Kotlin
83 lines
2.0 KiB
Kotlin
package test.collections
|
|
|
|
import kotlin.test.*
|
|
|
|
import java.util.*
|
|
import org.junit.Test as test
|
|
|
|
class MapTest {
|
|
|
|
test fun getOrElse() {
|
|
val data = HashMap<String, Int>()
|
|
val a = data.getOrElse("foo"){2}
|
|
assertEquals(2, a)
|
|
|
|
val b = data.getOrElse("foo"){3}
|
|
assertEquals(3, b)
|
|
assertEquals(0, data.size())
|
|
}
|
|
|
|
test fun getOrPut() {
|
|
val data = HashMap<String, Int>()
|
|
val a = data.getOrPut("foo"){2}
|
|
assertEquals(2, a)
|
|
|
|
val b = data.getOrPut("foo"){3}
|
|
assertEquals(2, b)
|
|
|
|
assertEquals(1, data.size())
|
|
}
|
|
|
|
test fun sizeAndEmpty() {
|
|
val data = HashMap<String, Int>()
|
|
assertTrue{ data.empty }
|
|
assertEquals(data.size, 0)
|
|
}
|
|
|
|
test fun setViaIndexOperators() {
|
|
val map = HashMap<String, String>()
|
|
assertTrue{ map.empty }
|
|
assertEquals(map.size, 0)
|
|
|
|
map["name"] = "James"
|
|
|
|
assertTrue{ !map.empty }
|
|
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"
|
|
|
|
val list = arrayList<String>()
|
|
for (e in map) {
|
|
println("key = ${e.getKey()}, value = ${e.getValue()}")
|
|
list.add(e.getKey())
|
|
list.add(e.getValue())
|
|
}
|
|
|
|
assertEquals(6, list.size())
|
|
assertEquals("beverage,beer,location,Mells,name,James", list.makeString(","))
|
|
}
|
|
|
|
test fun iterateWithProperties() {
|
|
val map = TreeMap<String, String>()
|
|
map["beverage"] = "beer"
|
|
map["location"] = "Mells"
|
|
map["name"] = "James"
|
|
|
|
val list = arrayList<String>()
|
|
for (e in map) {
|
|
println("key = ${e.key}, value = ${e.value}")
|
|
list.add(e.key)
|
|
list.add(e.value)
|
|
}
|
|
|
|
assertEquals(6, list.size())
|
|
assertEquals("beverage,beer,location,Mells,name,James", list.makeString(","))
|
|
}
|
|
}
|