@@ -20,10 +20,10 @@ import next._
20
20
class TestLazyListExtensions {
21
21
22
22
// This method will *not* terminate for non-cyclic infinite-sized collections.
23
- def assertIsCyclical [T ](xs : LazyList [T ]): Unit = {
24
- assertTrue(xs.nonEmpty)
23
+ def assertConstantMemory [T ](xs : LazyList [T ]): Unit =
24
+ // `force` does cycle detection, so if this terminates, the collection is
25
+ // either finite or a cycle
25
26
xs.force
26
- }
27
27
28
28
@ Test
29
29
def testEmpty1 (): Unit = {
@@ -46,7 +46,7 @@ class TestLazyListExtensions {
46
46
val xs = LazyList (1 , 2 , 3 )
47
47
val cyc = xs.cycle
48
48
assertFalse(cyc.isEmpty)
49
- assertIsCyclical (cyc)
49
+ assertConstantMemory (cyc)
50
50
assertEquals(LazyList (1 , 2 , 3 , 1 , 2 , 3 , 1 , 2 ), cyc.take(8 ))
51
51
}
52
52
@ Test
@@ -88,13 +88,13 @@ class TestLazyListExtensions {
88
88
def testConstantMemory3 (): Unit = {
89
89
val xs = LazyList (1 , 2 , 3 )
90
90
val cyc = xs.cycle
91
- assertIsCyclical (cyc)
92
- assertIsCyclical (cyc.tail)
93
- assertIsCyclical (cyc.tail.tail)
94
- assertIsCyclical (cyc.tail.tail.tail)
95
- assertIsCyclical (cyc.tail.tail.tail.tail)
96
- assertIsCyclical (cyc.drop(1 ))
97
- assertIsCyclical (cyc.drop(10 ))
91
+ assertConstantMemory (cyc)
92
+ assertConstantMemory (cyc.tail)
93
+ assertConstantMemory (cyc.tail.tail)
94
+ assertConstantMemory (cyc.tail.tail.tail)
95
+ assertConstantMemory (cyc.tail.tail.tail.tail)
96
+ assertConstantMemory (cyc.drop(1 ))
97
+ assertConstantMemory (cyc.drop(10 ))
98
98
}
99
99
@ Test
100
100
def testUnbounded (): Unit = {
0 commit comments