diff --git a/core/jvm/src/test/scala/fs2/StreamPerformanceSpec.scala b/core/jvm/src/test/scala/fs2/StreamPerformanceSpec.scala index c27aa5ce92..0ec22cc253 100644 --- a/core/jvm/src/test/scala/fs2/StreamPerformanceSpec.scala +++ b/core/jvm/src/test/scala/fs2/StreamPerformanceSpec.scala @@ -31,12 +31,24 @@ class StreamPerformanceSpec extends Fs2Spec { } }} + "left-associated eval_() ++ flatMap 1" - { Ns.foreach { N => + N.toString in { + runLog((1 until N).map(emit).foldLeft(emit(0).covary[IO])((acc,a) => acc flatMap { _ => eval(IO {()}) flatMap { _ => a }})) shouldBe Vector(N-1) + } + }} + "right-associated flatMap 1" - { Ns.foreach { N => N.toString in { runLog((1 until N).map(emit).reverse.foldLeft(emit(0))((acc,a) => a flatMap { _ => acc })) shouldBe Vector(0) } }} + "right-associated eval_() ++ flatMap 1" - { Ns.foreach { N => + N.toString in { + runLog((1 until N).map(emit).reverse.foldLeft(emit(0).covary[IO])((acc,a) => a flatMap { _ => eval(IO {()}) flatMap { _=> acc } })) shouldBe Vector(0) + } + }} + "left-associated flatMap 2" - { Ns.foreach { N => N.toString in { runLog((1 until N).map(emit).foldLeft(emit(0) ++ emit(1) ++ emit(2))(