Minor: refactor some tests to use nested classes.

This commit is contained in:
Ilya Gorbunov
2016-02-20 21:01:52 +03:00
parent 7997aea5c3
commit 3c35395cf7
4 changed files with 88 additions and 29 deletions
@@ -1,3 +1,19 @@
/*
* Copyright 2010-2016 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.
*/
package test.collections
import java.util.*
@@ -594,7 +610,7 @@ class CollectionTest {
assertFalse(hashSetOf<Int>().contains(12))
assertTrue(listOf(15, 19, 20).contains(15))
assertTrue(IterableWrapper(hashSetOf(45, 14, 13)).contains(14))
assertTrue(hashSetOf(45, 14, 13).toIterable().contains(14))
}
@test fun min() {
@@ -1,3 +1,19 @@
/*
* Copyright 2010-2016 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.
*/
package test.collections
import org.junit.Test
@@ -5,15 +21,8 @@ import java.util.ArrayList
import java.util.LinkedHashSet
import kotlin.test.*
fun <T> iterableOf(vararg items: T): Iterable<T> = IterableWrapper(items.toList())
class IterableWrapper<T>(collection: Iterable<T>) : Iterable<T> {
private val collection = collection
override fun iterator(): Iterator<T> {
return collection.iterator()
}
}
fun <T> iterableOf(vararg items: T): Iterable<T> = Iterable { items.iterator() }
fun <T> Iterable<T>.toIterable(): Iterable<T> = Iterable { this.iterator() }
class IterableTest : OrderedIterableTests<Iterable<String>>(iterableOf("foo", "bar"), iterableOf<String>())
class SetTest : IterableTests<Set<String>>(setOf("foo", "bar"), setOf<String>())
+20 -2
View File
@@ -1,10 +1,24 @@
/*
* Copyright 2010-2016 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.
*/
package test.text
import kotlin.test.*
import org.junit.Test as test
// could not be local inside isEmptyAndBlank, because non-toplevel declarations is not yet supported for JS
class IsEmptyCase(val value: String?, val isNull: Boolean = false, val isEmpty: Boolean = false, val isBlank: Boolean = false)
fun createString(content: String): CharSequence = content
fun createStringBuilder(content: String): CharSequence = StringBuilder((content as Any).toString()) // required for Rhino JS
@@ -36,6 +50,10 @@ fun Char.isAsciiUpperCase() = this in 'A'..'Z'
class StringTest {
// could not be local inside isEmptyAndBlank, because local declarations is not yet supported for JS
// TODO: move inside after KT-11030 is implemented
class IsEmptyCase(val value: String?, val isNull: Boolean = false, val isEmpty: Boolean = false, val isBlank: Boolean = false)
@test fun isEmptyAndBlank() = withOneCharSequenceArg { arg1 ->
val cases = listOf(
+33 -17
View File
@@ -1,31 +1,47 @@
/*
* Copyright 2010-2016 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.
*/
package test.utils
import kotlin.*
import kotlin.test.*
import org.junit.Test as test
private class PartiallyImplementedClass {
public val prop: String get() = TODO()
// fun method1() = TODO() as String // <- doesn't compile in JS
public fun method2(): Int = TODO()
class TODOTest {
private class PartiallyImplementedClass {
public val prop: String get() = TODO()
// fun method1() = TODO() as String // <- doesn't compile in JS
public fun method2(): Int = TODO()
public fun method3(switch: Boolean, value: String): String {
if (!switch)
TODO("what if false")
else {
if (value.length < 3)
throw TODO("write message")
public fun method3(switch: Boolean, value: String): String {
if (!switch)
TODO("what if false")
else {
if (value.length < 3)
throw TODO("write message")
}
return value
}
return value
public fun method4() {
TODO()
}
}
public fun method4() {
TODO()
}
}
class TODOTest {
private fun assertNotImplemented(block: () -> Unit) {
assertTrue(assertFails(block) is NotImplementedError)
}