From 4ee64d7283c647481df8d0b6fe14d04f7c539bb5 Mon Sep 17 00:00:00 2001 From: Ilya Ryzhenkov Date: Mon, 12 Jan 2015 22:42:08 +0300 Subject: [PATCH] Covering stdlib with tests. --- .../test/collections/IterableJVMTests.kt | 1 - .../stdlib/test/collections/IterableTests.kt | 1 + libraries/stdlib/test/collections/MapTest.kt | 32 +++++++++++++++++++ .../stdlib/test/collections/StreamTest.kt | 8 +++++ libraries/stdlib/test/js/SetJsTest.kt | 2 +- 5 files changed, 42 insertions(+), 2 deletions(-) diff --git a/libraries/stdlib/test/collections/IterableJVMTests.kt b/libraries/stdlib/test/collections/IterableJVMTests.kt index 9bc0bc94759..eb826b466b8 100644 --- a/libraries/stdlib/test/collections/IterableJVMTests.kt +++ b/libraries/stdlib/test/collections/IterableJVMTests.kt @@ -2,6 +2,5 @@ package test.collections import java.util.* -class LinkedSetTest : OrderedIterableTests>(setOf("foo", "bar"), setOf()) class LinkedListTest : OrderedIterableTests>(linkedListOf("foo", "bar"), linkedListOf()) diff --git a/libraries/stdlib/test/collections/IterableTests.kt b/libraries/stdlib/test/collections/IterableTests.kt index a295a6339ee..c972b0ae3d1 100644 --- a/libraries/stdlib/test/collections/IterableTests.kt +++ b/libraries/stdlib/test/collections/IterableTests.kt @@ -16,6 +16,7 @@ class IterableWrapper(collection: Iterable) : Iterable { class IterableTest : IterableTests>(iterableOf("foo", "bar"), iterableOf()) class SetTest : IterableTests>(setOf("foo", "bar"), setOf()) +class LinkedSetTest : IterableTests>(linkedSetOf("foo", "bar"), linkedSetOf()) class ListTest : OrderedIterableTests>(listOf("foo", "bar"), listOf()) class ArrayListTest : OrderedIterableTests>(arrayListOf("foo", "bar"), arrayListOf()) diff --git a/libraries/stdlib/test/collections/MapTest.kt b/libraries/stdlib/test/collections/MapTest.kt index 2858fd15d38..e02bbe175a1 100644 --- a/libraries/stdlib/test/collections/MapTest.kt +++ b/libraries/stdlib/test/collections/MapTest.kt @@ -184,6 +184,38 @@ class MapTest { assertEquals(2, filteredByValue2["a"]) } + test fun any() { + val map = mapOf(Pair("b", 3), Pair("c", 2), Pair("a", 2)) + assertTrue(map.any()) + assertFalse(emptyMap().any()) + + assertTrue(map.any { it.key == "b" }) + assertFalse(emptyMap().any { it.key == "b" }) + + assertTrue(map.any { it.value == 2 }) + assertFalse(map.any { it.value == 5 }) + } + + test fun all() { + val map = mapOf(Pair("b", 3), Pair("c", 2), Pair("a", 2)) + assertTrue(map.all { it.key != "d" }) + assertTrue(emptyMap().all { it.key == "d" }) + + assertTrue(map.all { it.value > 0 }) + assertFalse(map.all { it.value == 2 }) + } + + test fun countBy() { + val map = mapOf(Pair("b", 3), Pair("c", 2), Pair("a", 2)) + assertEquals(3, map.count()) + + val filteredByKey = map.count { it.key == "b" } + assertEquals(1, filteredByKey) + + val filteredByValue = map.count { it.value == 2 } + assertEquals(2, filteredByValue) + } + test fun filterNot() { val map = mapOf(Pair("b", 3), Pair("c", 2), Pair("a", 2)) val filteredByKey = map.filterNot { it.key == "b" } diff --git a/libraries/stdlib/test/collections/StreamTest.kt b/libraries/stdlib/test/collections/StreamTest.kt index 6894bb546cc..e379dbc7cf2 100644 --- a/libraries/stdlib/test/collections/StreamTest.kt +++ b/libraries/stdlib/test/collections/StreamTest.kt @@ -66,6 +66,13 @@ public class StreamTest { } } + test fun withIndex() { + val data = streamOf("foo", "bar") + val indexed = data.withIndex().map { it.value.substring(0..it.index) }.toList() + assertEquals(2, indexed.size()) + assertEquals(listOf("f", "ba"), indexed) + } + test fun filterAndTakeWhileExtractTheElementsWithinRange() { assertEquals(listOf(144, 233, 377, 610, 987), fibonacci().filter { it > 100 }.takeWhile { it < 1000 }.toList()) } @@ -99,6 +106,7 @@ public class StreamTest { test fun dropWhile() { assertEquals("233, 377, 610", fibonacci().dropWhile { it < 200 }.take(3).joinToString(limit = 10)) + assertEquals("", streamOf(1).dropWhile { it < 200 }.joinToString(limit = 10)) } test fun merge() { diff --git a/libraries/stdlib/test/js/SetJsTest.kt b/libraries/stdlib/test/js/SetJsTest.kt index ef3692978fd..03dfd44b121 100644 --- a/libraries/stdlib/test/js/SetJsTest.kt +++ b/libraries/stdlib/test/js/SetJsTest.kt @@ -40,7 +40,7 @@ class PrimitiveSetJsTest : SetJsTest() { } } -class LinkedHashSetTest : SetJsTest() { +class LinkedHashSetJsTest : SetJsTest() { override fun createEmptyMutableSet(): MutableSet = LinkedHashSet() override fun createEmptyMutableSetWithNullableValues(): MutableSet = LinkedHashSet() Test override fun constructors() {