|
Scala example source code file (MVarTest.scala)
The MVarTest.scala Scala example source code
package scalaz
package concurrent
import scalaz.concurrent.MVar.newEmptyMVar
import scalaz.effect.IO
object MVarTest extends SpecLite {
def forkIO(f: => IO[Unit])(implicit s: Strategy): IO[Unit] =
IO { s(f.unsafePerformIO); () }
/** NOTE: This test replicates #314 approx 1 in every 2 attempts. */
"MVar" should {
"have deterministic sequential take/put behaviour" in {
def run = for {
in <- newEmptyMVar[String]
_ <- forkIO {
for {
_ <- in.put("one")
_ <- in.put("two")
} yield ()
}
a <- in.take
b <- in.take
} yield (a, b)
run.unsafePerformIO must_== ("one", "two")
}
}
}
Other Scala examples (source code examples)Here is a short list of links related to this Scala MVarTest.scala source code file: |
| ... this post is sponsored by my books ... | |
#1 New Release! |
FP Best Seller |
Copyright 1998-2024 Alvin Alexander, alvinalexander.com
All Rights Reserved.
A percentage of advertising revenue from
pages under the /java/jwarehouse
URI on this website is
paid back to open source projects.