From 310bcc48a515a098f09ecd4cc5cdd4f93ad5f3dd Mon Sep 17 00:00:00 2001 From: "Vitaliy.Bibaev" Date: Sat, 14 Oct 2017 19:15:02 +0300 Subject: [PATCH] Add psi tests with the simplest test data --- .../sequence/psi/streams/negative/Simple.kt | 6 +++ .../sequence/psi/streams/positive/Simple.kt | 5 +++ .../psi/streams/positive/streamex/Simple.kt | 5 +++ .../kotlin/KotlinPsiChainBuilderTestCase.kt | 41 +++++++++++++++++++ .../kotlin/psi/java/NegativeJavaStreamTest.kt | 16 ++++++++ .../kotlin/psi/java/PositiveJavaStreamTest.kt | 16 ++++++++ .../kotlin/psi/java/PositiveStreamExTest.kt | 16 ++++++++ 7 files changed, 105 insertions(+) create mode 100644 idea/testData/debugger/sequence/psi/streams/negative/Simple.kt create mode 100644 idea/testData/debugger/sequence/psi/streams/positive/Simple.kt create mode 100644 idea/testData/debugger/sequence/psi/streams/positive/streamex/Simple.kt create mode 100644 idea/tests/com/intellij/debugger/streams/kotlin/KotlinPsiChainBuilderTestCase.kt create mode 100644 idea/tests/com/intellij/debugger/streams/kotlin/psi/java/NegativeJavaStreamTest.kt create mode 100644 idea/tests/com/intellij/debugger/streams/kotlin/psi/java/PositiveJavaStreamTest.kt create mode 100644 idea/tests/com/intellij/debugger/streams/kotlin/psi/java/PositiveStreamExTest.kt diff --git a/idea/testData/debugger/sequence/psi/streams/negative/Simple.kt b/idea/testData/debugger/sequence/psi/streams/negative/Simple.kt new file mode 100644 index 00000000000..e7cf48f1ea9 --- /dev/null +++ b/idea/testData/debugger/sequence/psi/streams/negative/Simple.kt @@ -0,0 +1,6 @@ +import java.util.stream.Stream + +fun main(args: Array) { + val a = 100 + Stream.of(1, 2, 3).toArray() +} diff --git a/idea/testData/debugger/sequence/psi/streams/positive/Simple.kt b/idea/testData/debugger/sequence/psi/streams/positive/Simple.kt new file mode 100644 index 00000000000..86d9d51d25c --- /dev/null +++ b/idea/testData/debugger/sequence/psi/streams/positive/Simple.kt @@ -0,0 +1,5 @@ +import java.util.stream.Stream + +fun main(args: Array) { + Stream.of(1, 2, 3).toArray() +} diff --git a/idea/testData/debugger/sequence/psi/streams/positive/streamex/Simple.kt b/idea/testData/debugger/sequence/psi/streams/positive/streamex/Simple.kt new file mode 100644 index 00000000000..e85d80d51ab --- /dev/null +++ b/idea/testData/debugger/sequence/psi/streams/positive/streamex/Simple.kt @@ -0,0 +1,5 @@ +import one.util.streamex.StreamEx + +fun main(args: Array) { + StreamEx.of(1, 2, 3).toArray() +} diff --git a/idea/tests/com/intellij/debugger/streams/kotlin/KotlinPsiChainBuilderTestCase.kt b/idea/tests/com/intellij/debugger/streams/kotlin/KotlinPsiChainBuilderTestCase.kt new file mode 100644 index 00000000000..9b46d071f82 --- /dev/null +++ b/idea/tests/com/intellij/debugger/streams/kotlin/KotlinPsiChainBuilderTestCase.kt @@ -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) { + TestCase.assertFalse(chains.isEmpty()) + } + } + + abstract class Negative(relativePath: String) : KotlinPsiChainBuilderTestCase(relativePath) { + override fun doTest() { + val elementAtCaret = configureAndGetElementAtCaret() + TestCase.assertFalse(chainBuilder.isChainExists(elementAtCaret)) + } + } +} diff --git a/idea/tests/com/intellij/debugger/streams/kotlin/psi/java/NegativeJavaStreamTest.kt b/idea/tests/com/intellij/debugger/streams/kotlin/psi/java/NegativeJavaStreamTest.kt new file mode 100644 index 00000000000..a685de3100b --- /dev/null +++ b/idea/tests/com/intellij/debugger/streams/kotlin/psi/java/NegativeJavaStreamTest.kt @@ -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() + } +} \ No newline at end of file diff --git a/idea/tests/com/intellij/debugger/streams/kotlin/psi/java/PositiveJavaStreamTest.kt b/idea/tests/com/intellij/debugger/streams/kotlin/psi/java/PositiveJavaStreamTest.kt new file mode 100644 index 00000000000..5118a7b4e99 --- /dev/null +++ b/idea/tests/com/intellij/debugger/streams/kotlin/psi/java/PositiveJavaStreamTest.kt @@ -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() + } +} \ No newline at end of file diff --git a/idea/tests/com/intellij/debugger/streams/kotlin/psi/java/PositiveStreamExTest.kt b/idea/tests/com/intellij/debugger/streams/kotlin/psi/java/PositiveStreamExTest.kt new file mode 100644 index 00000000000..324fdbca1fd --- /dev/null +++ b/idea/tests/com/intellij/debugger/streams/kotlin/psi/java/PositiveStreamExTest.kt @@ -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() + } +}