|
Scala example source code file (IOTest.scala)
The IOTest.scala Scala example source codepackage scalaz package effect import syntax.foldable._ import std.stream._ object IOTest extends SpecLite { "IO" should { // as reported in <https://groups.google.com/d/msg/scalaz/BIhItmdejeI/zZ-fSH7ZzfwJ> // fix in bb4ebd650 "not stack overflow" in { var counter: Long = 0L val action: IO[Unit] = Stream.from(1).take(40000).traverse_(i => IO { counter += i }) action.unsafePerformIO() counter must_== 800020000L } } "Catchable[IO]" should { val C = Catchable[IO] val err = new Error("oh noes") val bad = C.fail[Int](err) "throw exceptions captured via fail()" in { try { bad.unsafePerformIO fail("should have thrown") } catch { case t: Throwable => t must_== err } } "catch exceptions captured via fail()" in { C.attempt(bad).unsafePerformIO must_== -\/(err) } "catch ambient exceptions" in { C.attempt(IO(throw err)).unsafePerformIO must_== -\/(err) } "properly handle success" in { C.attempt(IO(3)).unsafePerformIO must_== \/-(3) } } } // vim: expandtab:ts=2:sw=2 Other Scala examples (source code examples)Here is a short list of links related to this Scala IOTest.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.