CollectionsKt.windowed throws IllegalArgumentException

This commit is contained in:
Abduqodiri Qurbonzoda
2019-09-16 20:34:13 +03:00
parent a7b984bcbf
commit d66f07a84e
6 changed files with 51 additions and 8 deletions
@@ -140,6 +140,11 @@ abstract class OrderedIterableTests<T : Iterable<String>>(createFrom: (Array<out
data.toList().let { expectedSingleChunk ->
assertEquals(expectedSingleChunk, data.chunked(size).single())
assertEquals(expectedSingleChunk, data.chunked(size + 3).single())
assertEquals(expectedSingleChunk, data.chunked(Int.MAX_VALUE).single())
}
createFrom("a", "b").let { iterable ->
assertEquals(iterable.toList(), iterable.chunked(Int.MAX_VALUE).single())
}
assertTrue(empty.chunked(3).isEmpty())
@@ -230,6 +230,11 @@ public class SequenceTest {
seq.toList().let { expectedSingleChunk ->
assertEquals(expectedSingleChunk, seq.chunked(size).single())
assertEquals(expectedSingleChunk, seq.chunked(size + 3).single())
assertEquals(expectedSingleChunk, seq.chunked(Int.MAX_VALUE).single())
}
infiniteSeq.take(2).let { seq2 ->
assertEquals(seq2.toList(), seq2.chunked(Int.MAX_VALUE).single())
}
assertTrue(emptySequence<String>().chunked(3).none())
@@ -251,6 +256,16 @@ public class SequenceTest {
assertEquals((startElement until startElement + 5).toList(), window)
}
infiniteSeq.take(3500).windowed(2000, 1000, partialWindows = true).forEachIndexed { windowIndex, window ->
val startElement = windowIndex * 1000
val elementCount = when (windowIndex) {
3 -> 500
2 -> 1500
else -> 2000
}
assertEquals((startElement until startElement + elementCount).toList(), window)
}
val size = 7
val seq = infiniteSeq.take(7)
+5
View File
@@ -1068,6 +1068,11 @@ class StringTest {
data.toString().let { expectedSingleChunk ->
assertEquals(expectedSingleChunk, data.chunked(size).single())
assertEquals(expectedSingleChunk, data.chunked(size + 3).single())
assertEquals(expectedSingleChunk, data.chunked(Int.MAX_VALUE).single())
}
arg1("ab").let {
assertEquals(it.toString(), it.chunked(Int.MAX_VALUE).single())
}
assertTrue(arg1("").chunked(3).isEmpty())