Add psi tests with the simplest test data
This commit is contained in:
committed by
Yan Zhulanow
parent
5fe0f167ca
commit
310bcc48a5
@@ -0,0 +1,6 @@
|
||||
import java.util.stream.Stream
|
||||
|
||||
fun main(args: Array<String>) {
|
||||
val a<caret> = 100
|
||||
Stream.of(1, 2, 3).toArray()
|
||||
}
|
||||
@@ -0,0 +1,5 @@
|
||||
import java.util.stream.Stream
|
||||
|
||||
fun main(args: Array<String>) {
|
||||
Stream.of(1, 2, 3).toAr<caret>ray()
|
||||
}
|
||||
@@ -0,0 +1,5 @@
|
||||
import one.util.streamex.StreamEx
|
||||
|
||||
fun main(args: Array<String>) {
|
||||
StreamEx.of(1, 2, 3).to<caret>Array()
|
||||
}
|
||||
@@ -0,0 +1,41 @@
|
||||
package com.intellij.debugger.streams.kotlin
|
||||
|
||||
import com.intellij.debugger.streams.test.StreamChainBuilderTestCase
|
||||
import com.intellij.debugger.streams.wrapper.StreamChain
|
||||
import com.intellij.debugger.streams.wrapper.StreamChainBuilder
|
||||
import junit.framework.TestCase
|
||||
import java.io.File
|
||||
import java.nio.file.Paths
|
||||
|
||||
/**
|
||||
* @author Vitaliy.Bibaev
|
||||
*/
|
||||
abstract class KotlinPsiChainBuilderTestCase(private val relativePath: String) : StreamChainBuilderTestCase() {
|
||||
override fun getTestDataPath(): String = Paths.get(File("").absolutePath, "/testData/psi/$relativeTestPath/").toString()
|
||||
override fun getFileExtension(): String = ".kt"
|
||||
abstract val kotlinChainBuilder: StreamChainBuilder
|
||||
|
||||
override final fun getChainBuilder(): StreamChainBuilder = kotlinChainBuilder
|
||||
|
||||
protected abstract fun doTest()
|
||||
|
||||
override final fun getRelativeTestPath(): String = relativePath
|
||||
|
||||
abstract class Positive(relativePath: String) : KotlinPsiChainBuilderTestCase(relativePath) {
|
||||
override fun doTest() {
|
||||
val chains = buildChains()
|
||||
checkChains(chains)
|
||||
}
|
||||
|
||||
protected fun checkChains(chains: MutableList<StreamChain>) {
|
||||
TestCase.assertFalse(chains.isEmpty())
|
||||
}
|
||||
}
|
||||
|
||||
abstract class Negative(relativePath: String) : KotlinPsiChainBuilderTestCase(relativePath) {
|
||||
override fun doTest() {
|
||||
val elementAtCaret = configureAndGetElementAtCaret()
|
||||
TestCase.assertFalse(chainBuilder.isChainExists(elementAtCaret))
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,16 @@
|
||||
package com.intellij.debugger.streams.kotlin.psi.java
|
||||
|
||||
import com.intellij.debugger.streams.kotlin.KotlinPsiChainBuilderTestCase
|
||||
import com.intellij.debugger.streams.kotlin.lib.JavaStandardLibrarySupportProvider
|
||||
import com.intellij.debugger.streams.wrapper.StreamChainBuilder
|
||||
|
||||
/**
|
||||
* @author Vitaliy.Bibaev
|
||||
*/
|
||||
class NegativeJavaStreamTest : KotlinPsiChainBuilderTestCase.Negative("streams/negative") {
|
||||
override val kotlinChainBuilder: StreamChainBuilder = JavaStandardLibrarySupportProvider().chainBuilder
|
||||
|
||||
fun testSimple() {
|
||||
doTest()
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,16 @@
|
||||
package com.intellij.debugger.streams.kotlin.psi.java
|
||||
|
||||
import com.intellij.debugger.streams.kotlin.KotlinPsiChainBuilderTestCase
|
||||
import com.intellij.debugger.streams.kotlin.lib.JavaStandardLibrarySupportProvider
|
||||
import com.intellij.debugger.streams.wrapper.StreamChainBuilder
|
||||
|
||||
/**
|
||||
* @author Vitaliy.Bibaev
|
||||
*/
|
||||
class PositiveJavaStreamTest : KotlinPsiChainBuilderTestCase.Positive("streams/positive") {
|
||||
override val kotlinChainBuilder: StreamChainBuilder = JavaStandardLibrarySupportProvider().chainBuilder
|
||||
|
||||
fun testSimple() {
|
||||
doTest()
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,16 @@
|
||||
package com.intellij.debugger.streams.kotlin.psi.java
|
||||
|
||||
import com.intellij.debugger.streams.kotlin.KotlinPsiChainBuilderTestCase
|
||||
import com.intellij.debugger.streams.kotlin.lib.StreamExLibrarySupportProvider
|
||||
import com.intellij.debugger.streams.wrapper.StreamChainBuilder
|
||||
|
||||
/**
|
||||
* @author Vitaliy.Bibaev
|
||||
*/
|
||||
class PositiveStreamExTest : KotlinPsiChainBuilderTestCase.Positive("streams/positive/streamex") {
|
||||
override val kotlinChainBuilder: StreamChainBuilder = StreamExLibrarySupportProvider().chainBuilder
|
||||
|
||||
fun testSimple() {
|
||||
doTest()
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user