diff --git a/libraries/stdlib/test/collections/IterableJVMTests.kt b/libraries/stdlib/test/collections/IterableJVMTests.kt index 2949f3f2795..089f974d9c2 100644 --- a/libraries/stdlib/test/collections/IterableJVMTests.kt +++ b/libraries/stdlib/test/collections/IterableJVMTests.kt @@ -1,7 +1,23 @@ +/* + * Copyright 2010-2017 JetBrains s.r.o. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + @file:kotlin.jvm.JvmVersion package test.collections import java.util.* -class LinkedListTest : OrderedIterableTests>(LinkedList(listOf("foo", "bar")), LinkedList()) +class LinkedListTest : OrderedIterableTests>( { LinkedList(it.asList()) }, LinkedList()) diff --git a/libraries/stdlib/test/collections/IterableTests.kt b/libraries/stdlib/test/collections/IterableTests.kt index 10b9d31b15e..d2397ad858e 100644 --- a/libraries/stdlib/test/collections/IterableTests.kt +++ b/libraries/stdlib/test/collections/IterableTests.kt @@ -1,5 +1,5 @@ /* - * Copyright 2010-2016 JetBrains s.r.o. + * Copyright 2010-2017 JetBrains s.r.o. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -23,13 +23,13 @@ import kotlin.test.* fun iterableOf(vararg items: T): Iterable = Iterable { items.iterator() } fun Iterable.toIterable(): Iterable = Iterable { this.iterator() } -class IterableTest : OrderedIterableTests>(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()) +class IterableTest : OrderedIterableTests>({ iterableOf(*it) }, iterableOf()) +class SetTest : IterableTests>({ setOf(*it) }, setOf()) +class LinkedSetTest : OrderedIterableTests>({ linkedSetOf(*it) }, linkedSetOf()) +class ListTest : OrderedIterableTests>( { listOf(*it) }, listOf()) +class ArrayListTest : OrderedIterableTests>({ arrayListOf(*it) }, arrayListOf()) -abstract class OrderedIterableTests>(data: T, empty: T) : IterableTests(data, empty) { +abstract class OrderedIterableTests>(createFrom: (Array) -> T, empty: T) : IterableTests(createFrom, empty) { @Test fun indexOf() { expect(0) { data.indexOf("foo") } @@ -118,7 +118,11 @@ abstract class OrderedIterableTests>(data: T, empty: T) : I } } -abstract class IterableTests>(val data: T, val empty: T) { +abstract class IterableTests>(val createFrom: (Array) -> T, val empty: T) { + fun createFrom(vararg items: String): T = createFrom(items) + + val data = createFrom("foo", "bar") + @Test fun any() { expect(true) { data.any() }