Tests for map functions.
This commit is contained in:
@@ -165,10 +165,17 @@ class CollectionTest {
|
|||||||
}
|
}
|
||||||
|
|
||||||
test fun groupBy() {
|
test fun groupBy() {
|
||||||
val words = arrayListOf("a", "ab", "abc", "def", "abcd")
|
val words = arrayListOf("a", "abc", "ab", "def", "abcd")
|
||||||
val byLength = words.groupBy { it.length }
|
val byLength = words.groupBy { it.length }
|
||||||
assertEquals(4, byLength.size())
|
assertEquals(4, byLength.size())
|
||||||
|
|
||||||
|
// verify that order of keys is preserved
|
||||||
|
val listOfPairs = byLength.toList()
|
||||||
|
assertEquals(1, listOfPairs[0].first)
|
||||||
|
assertEquals(3, listOfPairs[1].first)
|
||||||
|
assertEquals(2, listOfPairs[2].first)
|
||||||
|
assertEquals(4, listOfPairs[3].first)
|
||||||
|
|
||||||
val l3 = byLength.getOrElse(3, { ArrayList<String>() })
|
val l3 = byLength.getOrElse(3, { ArrayList<String>() })
|
||||||
assertEquals(2, l3.size)
|
assertEquals(2, l3.size)
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -131,6 +131,21 @@ class MapTest {
|
|||||||
assertEquals(2, map.get("b"))
|
assertEquals(2, map.get("b"))
|
||||||
}
|
}
|
||||||
|
|
||||||
|
test fun createWithSelector() {
|
||||||
|
val map = listOf("a", "bb", "ccc").toMap { it.length }
|
||||||
|
assertEquals(3, map.size)
|
||||||
|
assertEquals("a", map.get(1))
|
||||||
|
assertEquals("bb", map.get(2))
|
||||||
|
assertEquals("ccc", map.get(3))
|
||||||
|
}
|
||||||
|
|
||||||
|
test fun createWithSelectorAndOverwrite() {
|
||||||
|
val map = listOf("aa", "bb", "ccc").toMap { it.length }
|
||||||
|
assertEquals(2, map.size)
|
||||||
|
assertEquals("bb", map.get(2))
|
||||||
|
assertEquals("ccc", map.get(3))
|
||||||
|
}
|
||||||
|
|
||||||
test fun createUsingTo() {
|
test fun createUsingTo() {
|
||||||
val map = mapOf("a" to 1, "b" to 2)
|
val map = mapOf("a" to 1, "b" to 2)
|
||||||
assertEquals(2, map.size)
|
assertEquals(2, map.size)
|
||||||
@@ -146,5 +161,47 @@ class MapTest {
|
|||||||
assertEquals(arrayListOf("c", "b", "a"), map.keySet().toList())
|
assertEquals(arrayListOf("c", "b", "a"), map.keySet().toList())
|
||||||
}
|
}
|
||||||
|
|
||||||
|
test fun filter() {
|
||||||
|
val map = mapOf(Pair("b", 3), Pair("c", 2), Pair("a", 2))
|
||||||
|
val filteredByKey = map.filter { it.key == "b" }
|
||||||
|
assertEquals(1, filteredByKey.size)
|
||||||
|
assertEquals(3, filteredByKey["b"])
|
||||||
|
|
||||||
|
val filteredByKey2 = map.filterKeys { it == "b" }
|
||||||
|
assertEquals(1, filteredByKey2.size)
|
||||||
|
assertEquals(3, filteredByKey2["b"])
|
||||||
|
|
||||||
|
val filteredByValue = map.filter { it.value == 2 }
|
||||||
|
assertEquals(2, filteredByValue.size)
|
||||||
|
assertEquals(null, filteredByValue["b"])
|
||||||
|
assertEquals(2, filteredByValue["c"])
|
||||||
|
assertEquals(2, filteredByValue["a"])
|
||||||
|
|
||||||
|
val filteredByValue2 = map.filterValues { it == 2 }
|
||||||
|
assertEquals(2, filteredByValue2.size)
|
||||||
|
assertEquals(null, filteredByValue2["b"])
|
||||||
|
assertEquals(2, filteredByValue2["c"])
|
||||||
|
assertEquals(2, filteredByValue2["a"])
|
||||||
|
}
|
||||||
|
|
||||||
|
test fun filterNot() {
|
||||||
|
val map = mapOf(Pair("b", 3), Pair("c", 2), Pair("a", 2))
|
||||||
|
val filteredByKey = map.filterNot { it.key == "b" }
|
||||||
|
assertEquals(2, filteredByKey.size)
|
||||||
|
assertEquals(null, filteredByKey["b"])
|
||||||
|
assertEquals(2, filteredByKey["c"])
|
||||||
|
assertEquals(2, filteredByKey["a"])
|
||||||
|
|
||||||
|
val filteredByValue = map.filterNot { it.value == 2 }
|
||||||
|
assertEquals(1, filteredByValue.size)
|
||||||
|
assertEquals(3, filteredByValue["b"])
|
||||||
|
}
|
||||||
|
|
||||||
|
test fun plusAssign() {
|
||||||
|
val extended = hashMapOf(Pair("b", 3))
|
||||||
|
extended += ("c" to 2)
|
||||||
|
assertEquals(2, extended.size)
|
||||||
|
assertEquals(2, extended["c"])
|
||||||
|
assertEquals(3, extended["b"])
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user