Skip to content

Commit

Permalink
Merge pull request #10429 from som-snytt/tweak/iterator-test
Browse files Browse the repository at this point in the history
IteratorTest mustn't use spent iterator after terminal op
  • Loading branch information
lrytz committed Jul 5, 2023
2 parents e4fca6e + c8f56bf commit c95d9a3
Show file tree
Hide file tree
Showing 3 changed files with 12 additions and 25 deletions.
2 changes: 1 addition & 1 deletion src/library/scala/collection/immutable/Range.scala
Original file line number Diff line number Diff line change
Expand Up @@ -667,6 +667,6 @@ private class RangeIterator(
_hasNext = longPos >= lastElement
}
}
this
this
}
}
21 changes: 7 additions & 14 deletions test/junit/scala/collection/IteratorTest.scala
Original file line number Diff line number Diff line change
Expand Up @@ -274,18 +274,11 @@ class IteratorTest {
assertEquals(10, Iterator.range(0, 10, 1).size)
assertEquals(10, Iterator.range(10, 0, -1).size)
}
@Test def range3(): Unit = {
val r1 = Iterator.range(0, 10)
assertTrue(r1 contains 5)
assertTrue(r1 contains 6)
assertFalse(r1 contains 4)
val r2a = Iterator.range(0, 10, 2)
assertFalse(r2a contains 5)
val r2b = Iterator.range(0, 10, 2)
assertTrue(r2b contains 6)
val r3 = Iterator.range(0, 10, 11)
assertFalse(r3 contains 5)
assertTrue(r3.isEmpty)
@Test def `range contains`: Unit = {
assertTrue(Iterator.range(0, 10).contains(5))
assertFalse(Iterator.range(0, 10, 2).contains(5))
assertTrue(Iterator.range(0, 10, 2).contains(6))
assertFalse(Iterator.range(0, 10, 11).contains(5))
}
@Test def rangeOverflow(): Unit = {
val step = 100000000
Expand Down Expand Up @@ -346,8 +339,8 @@ class IteratorTest {
}
// ticket #429
@Test def fromArray(): Unit = {
val a = List(1, 2, 3, 4).toArray
val xs0 = a.iterator.toList;
val a = Array(1, 2, 3, 4)
val xs0 = a.iterator.toList
val xs1 = a.slice(0, 1).iterator
val xs2 = a.slice(0, 2).iterator
val xs3 = a.slice(0, 3).iterator
Expand Down
14 changes: 4 additions & 10 deletions test/junit/scala/collection/immutable/RangeTest.scala
Original file line number Diff line number Diff line change
Expand Up @@ -55,19 +55,13 @@ class RangeTest {

@Test
def dropToEnd(): Unit = {
val test = 10 to 11
val it = test.iterator
it.drop(1)

assertEquals(11, it.next())
val it = 10.to(11).iterator
assertEquals(11, it.drop(1).next())
}
@Test
def dropToEnd2(): Unit = {
val test = 10 until 11
val it = test.iterator
it.drop(0)

assertEquals(10, it.next())
val it = 10.to(11).iterator
assertEquals(10, it.drop(0).next())
}

@Test(expected = classOf[IllegalArgumentException])
Expand Down

0 comments on commit c95d9a3

Please sign in to comment.