From d8bc73367f41b68047d7ab1e36d26d39ed8ab891 Mon Sep 17 00:00:00 2001 From: "Vitaliy.Bibaev" Date: Thu, 21 Dec 2017 15:37:04 +0300 Subject: [PATCH] Add tests for misc operations --- .../sequence/exec/sequence/outs/chunked.out | 35 +++++++++++++++++ .../sequence/outs/chunkedWithTransform.out | 33 ++++++++++++++++ .../exec/sequence/outs/constrainOnce.out | 29 ++++++++++++++ .../sequence/exec/sequence/outs/onEach.out | 29 ++++++++++++++ .../exec/sequence/outs/requireNoNulls.out | 29 ++++++++++++++ .../sequence/exec/sequence/outs/windowed.out | 10 +++++ .../sequence/outs/windowedWithPartial.out | 10 +++++ .../exec/sequence/outs/zipWithGreater.out | 29 ++++++++++++++ .../exec/sequence/outs/zipWithLesser.out | 26 +++++++++++++ .../exec/sequence/outs/zipWithNextMany.out | 38 +++++++++++++++++++ .../exec/sequence/outs/zipWithNextSingle.out | 26 +++++++++++++ .../exec/sequence/outs/zipWithSame.out | 29 ++++++++++++++ .../exec/sequence/src/misc/Chunked.kt | 6 +++ .../sequence/src/misc/ChunkedWithTransform.kt | 6 +++ .../exec/sequence/src/misc/ConstrainOnce.kt | 6 +++ .../sequence/exec/sequence/src/misc/OnEach.kt | 6 +++ .../exec/sequence/src/misc/RequireNoNulls.kt | 6 +++ .../exec/sequence/src/misc/Windowed.kt | 6 +++ .../sequence/src/misc/WindowedWithPartial.kt | 6 +++ .../exec/sequence/src/misc/ZipWithGreater.kt | 6 +++ .../exec/sequence/src/misc/ZipWithLesser.kt | 6 +++ .../exec/sequence/src/misc/ZipWithNextMany.kt | 6 +++ .../sequence/src/misc/ZipWithNextSingle.kt | 6 +++ .../exec/sequence/src/misc/ZipWithSame.kt | 6 +++ .../exec/sequence/MiscOperationsTest.kt | 26 +++++++++++++ 25 files changed, 421 insertions(+) create mode 100644 idea/testData/debugger/sequence/exec/sequence/outs/chunked.out create mode 100644 idea/testData/debugger/sequence/exec/sequence/outs/chunkedWithTransform.out create mode 100644 idea/testData/debugger/sequence/exec/sequence/outs/constrainOnce.out create mode 100644 idea/testData/debugger/sequence/exec/sequence/outs/onEach.out create mode 100644 idea/testData/debugger/sequence/exec/sequence/outs/requireNoNulls.out create mode 100644 idea/testData/debugger/sequence/exec/sequence/outs/windowed.out create mode 100644 idea/testData/debugger/sequence/exec/sequence/outs/windowedWithPartial.out create mode 100644 idea/testData/debugger/sequence/exec/sequence/outs/zipWithGreater.out create mode 100644 idea/testData/debugger/sequence/exec/sequence/outs/zipWithLesser.out create mode 100644 idea/testData/debugger/sequence/exec/sequence/outs/zipWithNextMany.out create mode 100644 idea/testData/debugger/sequence/exec/sequence/outs/zipWithNextSingle.out create mode 100644 idea/testData/debugger/sequence/exec/sequence/outs/zipWithSame.out create mode 100644 idea/testData/debugger/sequence/exec/sequence/src/misc/Chunked.kt create mode 100644 idea/testData/debugger/sequence/exec/sequence/src/misc/ChunkedWithTransform.kt create mode 100644 idea/testData/debugger/sequence/exec/sequence/src/misc/ConstrainOnce.kt create mode 100644 idea/testData/debugger/sequence/exec/sequence/src/misc/OnEach.kt create mode 100644 idea/testData/debugger/sequence/exec/sequence/src/misc/RequireNoNulls.kt create mode 100644 idea/testData/debugger/sequence/exec/sequence/src/misc/Windowed.kt create mode 100644 idea/testData/debugger/sequence/exec/sequence/src/misc/WindowedWithPartial.kt create mode 100644 idea/testData/debugger/sequence/exec/sequence/src/misc/ZipWithGreater.kt create mode 100644 idea/testData/debugger/sequence/exec/sequence/src/misc/ZipWithLesser.kt create mode 100644 idea/testData/debugger/sequence/exec/sequence/src/misc/ZipWithNextMany.kt create mode 100644 idea/testData/debugger/sequence/exec/sequence/src/misc/ZipWithNextSingle.kt create mode 100644 idea/testData/debugger/sequence/exec/sequence/src/misc/ZipWithSame.kt create mode 100644 idea/tests/com/intellij/debugger/streams/kotlin/exec/sequence/MiscOperationsTest.kt diff --git a/idea/testData/debugger/sequence/exec/sequence/outs/chunked.out b/idea/testData/debugger/sequence/exec/sequence/outs/chunked.out new file mode 100644 index 00000000000..172c3648f29 --- /dev/null +++ b/idea/testData/debugger/sequence/exec/sequence/outs/chunked.out @@ -0,0 +1,35 @@ +LineBreakpoint created at Chunked.kt:5 +Run Java +Connected to the target VM +Chunked.kt:5 +(0..5).asSequence() +.chunked(4) +.count() +chunked + before: 1,2,3,4,6,7 + after: 5,8 +count + before: 5,8 + after: nothing +mappings for chunked + direct: + 1 -> nothing + 2 -> nothing + 3 -> nothing + 4 -> nothing + 6 -> nothing + 7 -> nothing + reverse: + nothing <- 5 + nothing <- 8 +mappings for count + direct: + 5 -> nothing + 8 -> nothing + reverse: + empty +Disconnected from the target VM + +WRONG! + +Process finished with exit code 0 diff --git a/idea/testData/debugger/sequence/exec/sequence/outs/chunkedWithTransform.out b/idea/testData/debugger/sequence/exec/sequence/outs/chunkedWithTransform.out new file mode 100644 index 00000000000..c5409c6aaa4 --- /dev/null +++ b/idea/testData/debugger/sequence/exec/sequence/outs/chunkedWithTransform.out @@ -0,0 +1,33 @@ +LineBreakpoint created at ChunkedWithTransform.kt:5 +Run Java +Connected to the target VM +ChunkedWithTransform.kt:5 +sequenceOf(1, 2, 3, 4) +.chunked(2, { it.size }) +.count() +chunked + before: 1,2,4,5 + after: 3,6 +count + before: 3,6 + after: nothing +mappings for chunked + direct: + 1 -> nothing + 2 -> nothing + 4 -> nothing + 5 -> nothing + reverse: + nothing <- 3 + nothing <- 6 +mappings for count + direct: + 3 -> nothing + 6 -> nothing + reverse: + empty +Disconnected from the target VM + +WRONG! + +Process finished with exit code 0 diff --git a/idea/testData/debugger/sequence/exec/sequence/outs/constrainOnce.out b/idea/testData/debugger/sequence/exec/sequence/outs/constrainOnce.out new file mode 100644 index 00000000000..3a655827224 --- /dev/null +++ b/idea/testData/debugger/sequence/exec/sequence/outs/constrainOnce.out @@ -0,0 +1,29 @@ +LineBreakpoint created at ConstrainOnce.kt:5 +Run Java +Connected to the target VM +ConstrainOnce.kt:5 +(0..1).asSequence() +.constrainOnce() +.count() +constrainOnce + before: 1,3 + after: 2,4 +count + before: 2,4 + after: nothing +mappings for constrainOnce + direct: + 1 -> 2 + 3 -> 4 + reverse: + 1 <- 2 + 3 <- 4 +mappings for count + direct: + 2 -> nothing + 4 -> nothing + reverse: + empty +Disconnected from the target VM + +Process finished with exit code 0 diff --git a/idea/testData/debugger/sequence/exec/sequence/outs/onEach.out b/idea/testData/debugger/sequence/exec/sequence/outs/onEach.out new file mode 100644 index 00000000000..4079803eadd --- /dev/null +++ b/idea/testData/debugger/sequence/exec/sequence/outs/onEach.out @@ -0,0 +1,29 @@ +LineBreakpoint created at OnEach.kt:5 +Run Java +Connected to the target VM +OnEach.kt:5 +(0..1).asSequence() +.onEach({}) +.count() +onEach + before: 1,3 + after: 2,4 +count + before: 2,4 + after: nothing +mappings for onEach + direct: + 1 -> 2 + 3 -> 4 + reverse: + 1 <- 2 + 3 <- 4 +mappings for count + direct: + 2 -> nothing + 4 -> nothing + reverse: + empty +Disconnected from the target VM + +Process finished with exit code 0 diff --git a/idea/testData/debugger/sequence/exec/sequence/outs/requireNoNulls.out b/idea/testData/debugger/sequence/exec/sequence/outs/requireNoNulls.out new file mode 100644 index 00000000000..c159c6b0bea --- /dev/null +++ b/idea/testData/debugger/sequence/exec/sequence/outs/requireNoNulls.out @@ -0,0 +1,29 @@ +LineBreakpoint created at RequireNoNulls.kt:5 +Run Java +Connected to the target VM +RequireNoNulls.kt:5 +(0..1).asSequence() +.requireNoNulls() +.count() +requireNoNulls + before: 1,3 + after: 2,4 +count + before: 2,4 + after: nothing +mappings for requireNoNulls + direct: + 1 -> 2 + 3 -> 4 + reverse: + 1 <- 2 + 3 <- 4 +mappings for count + direct: + 2 -> nothing + 4 -> nothing + reverse: + empty +Disconnected from the target VM + +Process finished with exit code 0 diff --git a/idea/testData/debugger/sequence/exec/sequence/outs/windowed.out b/idea/testData/debugger/sequence/exec/sequence/outs/windowed.out new file mode 100644 index 00000000000..fe87b8d4e0b --- /dev/null +++ b/idea/testData/debugger/sequence/exec/sequence/outs/windowed.out @@ -0,0 +1,10 @@ +LineBreakpoint created at Windowed.kt:5 +Run Java +Connected to the target VM +Windowed.kt:5 +Exception caught: junit.framework.AssertionFailedError: Unresolved reference: it, Unresolved reference: it +Disconnected from the target VM + +WRONG! + +Process finished with exit code 0 diff --git a/idea/testData/debugger/sequence/exec/sequence/outs/windowedWithPartial.out b/idea/testData/debugger/sequence/exec/sequence/outs/windowedWithPartial.out new file mode 100644 index 00000000000..2afc5120e37 --- /dev/null +++ b/idea/testData/debugger/sequence/exec/sequence/outs/windowedWithPartial.out @@ -0,0 +1,10 @@ +LineBreakpoint created at WindowedWithPartial.kt:5 +Run Java +Connected to the target VM +WindowedWithPartial.kt:5 +Exception caught: junit.framework.AssertionFailedError: Expected: but was: CHAIN_CONSTRUCTION, Expected: but was: CHAIN_CONSTRUCTION +Disconnected from the target VM + +WRONG! + +Process finished with exit code 0 diff --git a/idea/testData/debugger/sequence/exec/sequence/outs/zipWithGreater.out b/idea/testData/debugger/sequence/exec/sequence/outs/zipWithGreater.out new file mode 100644 index 00000000000..b01b244b5db --- /dev/null +++ b/idea/testData/debugger/sequence/exec/sequence/outs/zipWithGreater.out @@ -0,0 +1,29 @@ +LineBreakpoint created at ZipWithGreater.kt:5 +Run Java +Connected to the target VM +ZipWithGreater.kt:5 +listOf(1, 2).asSequence() +.zip(sequenceOf(2, 1, 5), { old, new -> old + new }) +.sum() +zip + before: 1,3 + after: 2,4 +sum + before: 2,4 + after: nothing +mappings for zip + direct: + 1 -> 2 + 3 -> 4 + reverse: + 1 <- 2 + 3 <- 4 +mappings for sum + direct: + 2 -> nothing + 4 -> nothing + reverse: + empty +Disconnected from the target VM + +Process finished with exit code 0 diff --git a/idea/testData/debugger/sequence/exec/sequence/outs/zipWithLesser.out b/idea/testData/debugger/sequence/exec/sequence/outs/zipWithLesser.out new file mode 100644 index 00000000000..8fade7ec485 --- /dev/null +++ b/idea/testData/debugger/sequence/exec/sequence/outs/zipWithLesser.out @@ -0,0 +1,26 @@ +LineBreakpoint created at ZipWithLesser.kt:5 +Run Java +Connected to the target VM +ZipWithLesser.kt:5 +sequenceOf(1, 2, 3) +.zip(sequenceOf(1)) +.contains(5 to 1) +zip + before: 1 + after: 2 +contains + before: 2 + after: nothing +mappings for zip + direct: + 1 -> 2 + reverse: + 1 <- 2 +mappings for contains + direct: + 2 -> nothing + reverse: + empty +Disconnected from the target VM + +Process finished with exit code 0 diff --git a/idea/testData/debugger/sequence/exec/sequence/outs/zipWithNextMany.out b/idea/testData/debugger/sequence/exec/sequence/outs/zipWithNextMany.out new file mode 100644 index 00000000000..783a5d24835 --- /dev/null +++ b/idea/testData/debugger/sequence/exec/sequence/outs/zipWithNextMany.out @@ -0,0 +1,38 @@ +LineBreakpoint created at ZipWithNextMany.kt:5 +Run Java +Connected to the target VM +ZipWithNextMany.kt:5 +sequenceOf(1, 2, 3, 2, 1) +.zipWithNext({ prev, next -> next + prev }) +.count() +zipWithNext + before: 1,2,4,6,8 + after: 3,5,7,9 +count + before: 3,5,7,9 + after: nothing +mappings for zipWithNext + direct: + 1 -> nothing + 2 -> nothing + 4 -> nothing + 6 -> nothing + 8 -> nothing + reverse: + nothing <- 3 + nothing <- 5 + nothing <- 7 + nothing <- 9 +mappings for count + direct: + 3 -> nothing + 5 -> nothing + 7 -> nothing + 9 -> nothing + reverse: + empty +Disconnected from the target VM + +WRONG + +Process finished with exit code 0 diff --git a/idea/testData/debugger/sequence/exec/sequence/outs/zipWithNextSingle.out b/idea/testData/debugger/sequence/exec/sequence/outs/zipWithNextSingle.out new file mode 100644 index 00000000000..c2fd648fb72 --- /dev/null +++ b/idea/testData/debugger/sequence/exec/sequence/outs/zipWithNextSingle.out @@ -0,0 +1,26 @@ +LineBreakpoint created at ZipWithNextSingle.kt:5 +Run Java +Connected to the target VM +ZipWithNextSingle.kt:5 +sequenceOf(1) +.zipWithNext() +.count() +zipWithNext + before: 1 + after: nothing +count + before: nothing + after: nothing +mappings for zipWithNext + direct: + 1 -> nothing + reverse: + empty +mappings for count + direct: + empty + reverse: + empty +Disconnected from the target VM + +Process finished with exit code 0 diff --git a/idea/testData/debugger/sequence/exec/sequence/outs/zipWithSame.out b/idea/testData/debugger/sequence/exec/sequence/outs/zipWithSame.out new file mode 100644 index 00000000000..38df39b4f5a --- /dev/null +++ b/idea/testData/debugger/sequence/exec/sequence/outs/zipWithSame.out @@ -0,0 +1,29 @@ +LineBreakpoint created at ZipWithSame.kt:5 +Run Java +Connected to the target VM +ZipWithSame.kt:5 +sequenceOf(1, 2) +.zip(sequenceOf(3, 2)) +.sumBy({ it.second }) +zip + before: 1,3 + after: 2,4 +sumBy + before: 2,4 + after: nothing +mappings for zip + direct: + 1 -> 2 + 3 -> 4 + reverse: + 1 <- 2 + 3 <- 4 +mappings for sumBy + direct: + 2 -> nothing + 4 -> nothing + reverse: + empty +Disconnected from the target VM + +Process finished with exit code 0 diff --git a/idea/testData/debugger/sequence/exec/sequence/src/misc/Chunked.kt b/idea/testData/debugger/sequence/exec/sequence/src/misc/Chunked.kt new file mode 100644 index 00000000000..f58d373e40a --- /dev/null +++ b/idea/testData/debugger/sequence/exec/sequence/src/misc/Chunked.kt @@ -0,0 +1,6 @@ +package misc + +fun main(args: Array) { + // Breakpoint! + (0..5).asSequence().chunked(4).count() +} \ No newline at end of file diff --git a/idea/testData/debugger/sequence/exec/sequence/src/misc/ChunkedWithTransform.kt b/idea/testData/debugger/sequence/exec/sequence/src/misc/ChunkedWithTransform.kt new file mode 100644 index 00000000000..9e57c311845 --- /dev/null +++ b/idea/testData/debugger/sequence/exec/sequence/src/misc/ChunkedWithTransform.kt @@ -0,0 +1,6 @@ +package misc + +fun main(args: Array) { + // Breakpoint! + sequenceOf(1, 2, 3, 4).chunked(2) { it.size }.count() +} \ No newline at end of file diff --git a/idea/testData/debugger/sequence/exec/sequence/src/misc/ConstrainOnce.kt b/idea/testData/debugger/sequence/exec/sequence/src/misc/ConstrainOnce.kt new file mode 100644 index 00000000000..f0ff534dd82 --- /dev/null +++ b/idea/testData/debugger/sequence/exec/sequence/src/misc/ConstrainOnce.kt @@ -0,0 +1,6 @@ +package misc + +fun main(args: Array) { + // Breakpoint! + (0..1).asSequence().constrainOnce().count() +} \ No newline at end of file diff --git a/idea/testData/debugger/sequence/exec/sequence/src/misc/OnEach.kt b/idea/testData/debugger/sequence/exec/sequence/src/misc/OnEach.kt new file mode 100644 index 00000000000..e7264801b59 --- /dev/null +++ b/idea/testData/debugger/sequence/exec/sequence/src/misc/OnEach.kt @@ -0,0 +1,6 @@ +package misc + +fun main(args: Array) { + // Breakpoint! + (0..1).asSequence().onEach {}.count() +} \ No newline at end of file diff --git a/idea/testData/debugger/sequence/exec/sequence/src/misc/RequireNoNulls.kt b/idea/testData/debugger/sequence/exec/sequence/src/misc/RequireNoNulls.kt new file mode 100644 index 00000000000..7212621d6b5 --- /dev/null +++ b/idea/testData/debugger/sequence/exec/sequence/src/misc/RequireNoNulls.kt @@ -0,0 +1,6 @@ +package misc + +fun main(args: Array) { + // Breakpoint! + (0..1).asSequence().requireNoNulls().count() +} \ No newline at end of file diff --git a/idea/testData/debugger/sequence/exec/sequence/src/misc/Windowed.kt b/idea/testData/debugger/sequence/exec/sequence/src/misc/Windowed.kt new file mode 100644 index 00000000000..44fc63c6480 --- /dev/null +++ b/idea/testData/debugger/sequence/exec/sequence/src/misc/Windowed.kt @@ -0,0 +1,6 @@ +package misc + +fun main(args: Array) { + // Breakpoint! + intArrayOf(1, 1, 1, 1, 1, 1, 1).asSequence().windowed(3) { it.sum() }.count() +} \ No newline at end of file diff --git a/idea/testData/debugger/sequence/exec/sequence/src/misc/WindowedWithPartial.kt b/idea/testData/debugger/sequence/exec/sequence/src/misc/WindowedWithPartial.kt new file mode 100644 index 00000000000..0b6e4562687 --- /dev/null +++ b/idea/testData/debugger/sequence/exec/sequence/src/misc/WindowedWithPartial.kt @@ -0,0 +1,6 @@ +package misc + +fun main(args: Array) { + // Breakpoint! + listOf(1, 1, 1, 1, 1).windowed(3, partialWindows = true) { it.size }.count() +} \ No newline at end of file diff --git a/idea/testData/debugger/sequence/exec/sequence/src/misc/ZipWithGreater.kt b/idea/testData/debugger/sequence/exec/sequence/src/misc/ZipWithGreater.kt new file mode 100644 index 00000000000..467f1aa6b25 --- /dev/null +++ b/idea/testData/debugger/sequence/exec/sequence/src/misc/ZipWithGreater.kt @@ -0,0 +1,6 @@ +package misc + +fun main(args: Array) { + // Breakpoint! + listOf(1, 2).asSequence().zip(sequenceOf(2, 1, 5)) { old, new -> old + new }.sum() +} \ No newline at end of file diff --git a/idea/testData/debugger/sequence/exec/sequence/src/misc/ZipWithLesser.kt b/idea/testData/debugger/sequence/exec/sequence/src/misc/ZipWithLesser.kt new file mode 100644 index 00000000000..94783ac00b7 --- /dev/null +++ b/idea/testData/debugger/sequence/exec/sequence/src/misc/ZipWithLesser.kt @@ -0,0 +1,6 @@ +package misc + +fun main(args: Array) { + // Breakpoint! + sequenceOf(1, 2, 3).zip(sequenceOf(1)).contains(5 to 1) +} \ No newline at end of file diff --git a/idea/testData/debugger/sequence/exec/sequence/src/misc/ZipWithNextMany.kt b/idea/testData/debugger/sequence/exec/sequence/src/misc/ZipWithNextMany.kt new file mode 100644 index 00000000000..f5ea2b60e5e --- /dev/null +++ b/idea/testData/debugger/sequence/exec/sequence/src/misc/ZipWithNextMany.kt @@ -0,0 +1,6 @@ +package misc + +fun main(args: Array) { + // Breakpoint! + sequenceOf(1, 2, 3, 2, 1).zipWithNext { prev, next -> next + prev }.count() +} \ No newline at end of file diff --git a/idea/testData/debugger/sequence/exec/sequence/src/misc/ZipWithNextSingle.kt b/idea/testData/debugger/sequence/exec/sequence/src/misc/ZipWithNextSingle.kt new file mode 100644 index 00000000000..2a90bde6799 --- /dev/null +++ b/idea/testData/debugger/sequence/exec/sequence/src/misc/ZipWithNextSingle.kt @@ -0,0 +1,6 @@ +package misc + +fun main(args: Array) { + // Breakpoint! + sequenceOf(1).zipWithNext().count() +} \ No newline at end of file diff --git a/idea/testData/debugger/sequence/exec/sequence/src/misc/ZipWithSame.kt b/idea/testData/debugger/sequence/exec/sequence/src/misc/ZipWithSame.kt new file mode 100644 index 00000000000..2112591271f --- /dev/null +++ b/idea/testData/debugger/sequence/exec/sequence/src/misc/ZipWithSame.kt @@ -0,0 +1,6 @@ +package misc + +fun main(args: Array) { + // Breakpoint! + sequenceOf(1, 2).zip(sequenceOf(3, 2)).sumBy { it.second } +} \ No newline at end of file diff --git a/idea/tests/com/intellij/debugger/streams/kotlin/exec/sequence/MiscOperationsTest.kt b/idea/tests/com/intellij/debugger/streams/kotlin/exec/sequence/MiscOperationsTest.kt new file mode 100644 index 00000000000..7c53c838dc8 --- /dev/null +++ b/idea/tests/com/intellij/debugger/streams/kotlin/exec/sequence/MiscOperationsTest.kt @@ -0,0 +1,26 @@ +// Copyright 2000-2017 JetBrains s.r.o. Use of this source code is governed by the Apache 2.0 license that can be found in the LICENSE file. +package com.intellij.debugger.streams.kotlin.exec.sequence + +/** + * @author Vitaliy.Bibaev + */ +class MiscOperationsTest : OperationsTestCase("misc") { + fun testConstrainOnce() = doTestWithResult() + + fun testRequireNoNulls() = doTestWithResult() + + fun testOnEach() = doTestWithResult() + + fun testZipWithSame() = doTestWithResult() + fun testZipWithGreater() = doTestWithResult() + fun testZipWithLesser() = doTestWithResult() + + fun testZipWithNextSingle() = doTestWithResult() + fun testZipWithNextMany() = doTestWithResult() + + fun testChunked() = doTestWithResult() + fun testChunkedWithTransform() = doTestWithResult() + + fun testWindowed() = doTestWithResult() + fun testWindowedWithPartial() = doTestWithResult() +} \ No newline at end of file