From 24ee79aa2d3d914e4136ab553f8b7e61af455c53 Mon Sep 17 00:00:00 2001 From: Ilya Ryzhenkov Date: Wed, 5 Nov 2014 18:04:52 +0300 Subject: [PATCH] Replace `ArrayList()` with `stdlib_emptyListClass()` and fix test. #KT-6013 Fixed --- libraries/stdlib/src/kotlin/collections/JUtil.kt | 4 ++-- libraries/stdlib/test/collections/ArraysTest.kt | 6 +++--- libraries/stdlib/test/collections/CollectionTest.kt | 4 ++-- libraries/stdlib/test/collections/SetOperationsTest.kt | 10 +++++----- libraries/stdlib/test/collections/StreamTest.kt | 2 +- .../stdlib/test/language/RangeIterationJVMTest.kt | 7 +++++-- libraries/stdlib/test/language/RangeIterationTest.kt | 7 +++++-- 7 files changed, 23 insertions(+), 17 deletions(-) diff --git a/libraries/stdlib/src/kotlin/collections/JUtil.kt b/libraries/stdlib/src/kotlin/collections/JUtil.kt index f4f910b7f28..1d615d2b926 100644 --- a/libraries/stdlib/src/kotlin/collections/JUtil.kt +++ b/libraries/stdlib/src/kotlin/collections/JUtil.kt @@ -3,11 +3,11 @@ package kotlin import java.util.* private class stdlib_emptyListClass : List by ArrayList() {} -private val stdlib_emptyList : List = ArrayList() // TODO: Change to stdlib_emptyListClass() when KT-5192 is fixed +private val stdlib_emptyList : List = stdlib_emptyListClass() private fun stdlib_emptyList() = stdlib_emptyList as List private class stdlib_emptyMapClass : Map by HashMap() {} -private val stdlib_emptyMap : Map = HashMap() // TODO: Change to stdlib_emptyMapClass() when KT-5192 is fixed +private val stdlib_emptyMap : Map = stdlib_emptyMapClass() private fun stdlib_emptyMap() = stdlib_emptyMap as Map /** Returns a new read-only list of given elements */ diff --git a/libraries/stdlib/test/collections/ArraysTest.kt b/libraries/stdlib/test/collections/ArraysTest.kt index 9275cf768fb..8a1fc07f6d6 100644 --- a/libraries/stdlib/test/collections/ArraysTest.kt +++ b/libraries/stdlib/test/collections/ArraysTest.kt @@ -192,8 +192,8 @@ class ArraysTest { assertEquals(listOf("B"), array("A", "B", "C").slice(1..1)) assertEquals(listOf('E', 'B', 'C'), array('A', 'B', 'C', 'E').slice(iter)) - assertEquals(listOf(), array().slice(5..4)) - assertEquals(listOf(), array(1, 2, 3).slice(5..1)) + assertTrue(array().slice(5..4).none()) + assertTrue(array(1, 2, 3).slice(5..1).none()) assertEquals(listOf(2, 3, 9), array(2, 3, 9, 2, 3, 9).slice(iter)) assertEquals(listOf(2.0, 3.0), array(2.0, 3.0, 9.0).slice(0..1)) assertEquals(listOf(2f, 3f), array(2f, 3f, 9f).slice(0..1)) @@ -204,7 +204,7 @@ class ArraysTest { } test fun toSortedList() { - assertEquals(listOf(), array().toSortedList()) + assertTrue(array().toSortedList().none()) assertEquals(listOf(1), array(1).toSortedList()) assertEquals(listOf("aab", "aba", "ac"), array("ac", "aab", "aba").toSortedList()) } diff --git a/libraries/stdlib/test/collections/CollectionTest.kt b/libraries/stdlib/test/collections/CollectionTest.kt index 8b5fc3bbdc7..d3db7f372b5 100644 --- a/libraries/stdlib/test/collections/CollectionTest.kt +++ b/libraries/stdlib/test/collections/CollectionTest.kt @@ -442,8 +442,8 @@ class CollectionTest { expect(listOf(1, 2, 3, 4, 5)) { (1..10).toList().take(5) } expect(listOf(1, 2)) { (1..10) take 2 } expect(listOf(1, 2)) { (1..10).toList().take(2) } - expect(listOf()) { (0L..5L) take 0 } - expect(listOf()) { listOf(1L) take 0 } + expect(true) { (0L..5L).take(0).none() } + expect(true) { listOf(1L).take(0).none() } expect(listOf(1)) { (1..1) take 10 } expect(listOf(1)) { listOf(1) take 10 } } diff --git a/libraries/stdlib/test/collections/SetOperationsTest.kt b/libraries/stdlib/test/collections/SetOperationsTest.kt index 6528a3bed34..1d7abd47943 100644 --- a/libraries/stdlib/test/collections/SetOperationsTest.kt +++ b/libraries/stdlib/test/collections/SetOperationsTest.kt @@ -6,7 +6,7 @@ import org.junit.Test as test class SetOperationsTest { test fun distinct() { assertEquals(listOf(1, 3, 5), listOf(1, 3, 3, 1, 5, 1, 3).distinct().toList()) - assertEquals(listOf(), listOf().distinct().toList()) + assertTrue(listOf().distinct().none()) } test fun union() { @@ -17,14 +17,14 @@ class SetOperationsTest { test fun subtract() { assertEquals(listOf(1, 3), listOf(1, 3).subtract(listOf(5)).toList()) assertEquals(listOf(1, 3), listOf(1, 3, 5).subtract(listOf(5)).toList()) - assertEquals(listOf(), listOf(1, 3, 5).subtract(listOf(1, 3, 5)).toList()) - assertEquals(listOf(), listOf().subtract(listOf(1)).toList()) + assertTrue(listOf(1, 3, 5).subtract(listOf(1, 3, 5)).none()) + assertTrue(listOf().subtract(listOf(1)).none()) } test fun intersect() { - assertEquals(listOf(), listOf(1, 3).intersect(listOf(5)).toList()) + assertTrue(listOf(1, 3).intersect(listOf(5)).none()) assertEquals(listOf(5), listOf(1, 3, 5).intersect(listOf(5)).toList()) assertEquals(listOf(1, 3, 5), listOf(1, 3, 5).intersect(listOf(1, 3, 5)).toList()) - assertEquals(listOf(), listOf().intersect(listOf(1)).toList()) + assertTrue(listOf().intersect(listOf(1)).none()) } } \ No newline at end of file diff --git a/libraries/stdlib/test/collections/StreamTest.kt b/libraries/stdlib/test/collections/StreamTest.kt index ddd9e700745..8e94230ea2b 100644 --- a/libraries/stdlib/test/collections/StreamTest.kt +++ b/libraries/stdlib/test/collections/StreamTest.kt @@ -197,7 +197,7 @@ public class StreamTest { test fun flatMapOnEmpty() { val result = streamOf().flatMap { streamOf(0..it) } - assertEquals(listOf(), result.toList()) + assertTrue(result.none()) } test fun flatMapWithEmptyItems() { diff --git a/libraries/stdlib/test/language/RangeIterationJVMTest.kt b/libraries/stdlib/test/language/RangeIterationJVMTest.kt index 3d4cf7f681a..873f5f3d921 100644 --- a/libraries/stdlib/test/language/RangeIterationJVMTest.kt +++ b/libraries/stdlib/test/language/RangeIterationJVMTest.kt @@ -12,8 +12,8 @@ import java.lang.Long.MAX_VALUE as MaxL import java.lang.Long.MIN_VALUE as MinL import java.lang.Character.MAX_VALUE as MaxC import java.lang.Character.MIN_VALUE as MinC -import kotlin.test.assertEquals import org.junit.Test as test +import kotlin.test.* // Test data for codegen is generated from this class. If you change it, rerun GenerateTests public class RangeIterationJVMTest { @@ -28,7 +28,10 @@ public class RangeIterationJVMTest { assertEquals(expectedEnd, sequence.end) assertEquals(expectedIncrement, sequence.increment) - assertEquals(expectedElements, sequence.toList()) + if (expectedElements.none()) + assertTrue(sequence.none()) + else + assertEquals(expectedElements, sequence.toList()) } test fun infiniteSteps() { diff --git a/libraries/stdlib/test/language/RangeIterationTest.kt b/libraries/stdlib/test/language/RangeIterationTest.kt index d7d5209c02e..065eabc9a51 100644 --- a/libraries/stdlib/test/language/RangeIterationTest.kt +++ b/libraries/stdlib/test/language/RangeIterationTest.kt @@ -1,7 +1,7 @@ package language -import kotlin.test.assertEquals import org.junit.Test as test +import kotlin.test.* // Test data for codegen is generated from this class. If you change it, rerun GenerateTests public class RangeIterationTest { @@ -16,7 +16,10 @@ public class RangeIterationTest { assertEquals(expectedEnd, sequence.end) assertEquals(expectedIncrement, sequence.increment) - assertEquals(expectedElements, sequence.toList()) + if (expectedElements.none()) + assertTrue(sequence.none()) + else + assertEquals(expectedElements, sequence.toList()) } test fun emptyConstant() {