summaryrefslogtreecommitdiff
path: root/test
diff options
context:
space:
mode:
authorJean-Remi Desjardins <jeanremi.desjardins@gmail.com>2014-05-05 09:34:15 -0400
committerJason Zaugg <jzaugg@gmail.com>2014-05-09 17:36:11 +0200
commit71cfb57499bda80f5fb0a810f37d0f9c54e1afd3 (patch)
treeb183eba46345d0ee6c53e064685fb188942399e9 /test
parent251616a107f4255203e318c9f6342f774d25e66d (diff)
downloadscala-71cfb57499bda80f5fb0a810f37d0f9c54e1afd3.tar.gz
scala-71cfb57499bda80f5fb0a810f37d0f9c54e1afd3.tar.bz2
scala-71cfb57499bda80f5fb0a810f37d0f9c54e1afd3.zip
SI-8475 Fix off by one in GroupedIterator when Streaming
This also affected sliding and grouped since they defer to GroupedIterator
Diffstat (limited to 'test')
-rw-r--r--test/junit/scala/collection/IteratorTest.scala20
1 files changed, 20 insertions, 0 deletions
diff --git a/test/junit/scala/collection/IteratorTest.scala b/test/junit/scala/collection/IteratorTest.scala
new file mode 100644
index 0000000000..cb7cbb40bc
--- /dev/null
+++ b/test/junit/scala/collection/IteratorTest.scala
@@ -0,0 +1,20 @@
+
+package scala.collection
+
+import org.junit.Assert._
+import org.junit.Test
+import org.junit.runner.RunWith
+import org.junit.runners.JUnit4
+
+@RunWith(classOf[JUnit4])
+class IteratorTest {
+
+ @Test
+ def groupedIteratorShouldNotAskForUnneededElement(): Unit = {
+ var counter = 0
+ val it = new Iterator[Int] { var i = 0 ; def hasNext = { counter = i; true } ; def next = { i += 1; i } }
+ val slidingIt = it sliding 2
+ slidingIt.next
+ assertEquals("Counter should be one, that means we didn't look further than needed", 1, counter)
+ }
+}