CatsEffectAssertions

Companion
object
class Object
trait Matchable
class Any

Type members

Classlikes

class MUnitCatsAssertionsForIOOps[A](io: IO[A])
class MUnitCatsAssertionsForIOBooleanOps(io: IO[Boolean])
class MUnitCatsAssertionsForSyncIOOps[A](io: SyncIO[A])

Value members

Methods

def assertIO[A, B](obtained: IO[A], returns: B, clue: => Any)(loc: Location, ev: B <:< A): IO[Unit]
Asserts that an IO returns an expected value.
The "returns" value (second argument) must have the same type or be a
subtype of the one "contained" inside the IO (first argument). For example:
{{{
assertIO(IO(Option(1)), returns = Some(1)) // OK
assertIO(IO(Some(1)), returns = Option(1)) // Error: Option[Int] is not a subtype of Some[Int]
}}}
The "clue" value can be used to give extra information about the failure in case the
assertion fails.
Value Params
clue
a value that will be printed in case the assertions fails
obtained
the IO under testing
returns
the expected value
def interceptIO[T <: Throwable](io: IO[Any])(T: ClassTag[T], loc: Location): IO[T]
Intercepts a Throwable being thrown inside the provided IO.
Example
{{{
val io = IO.raiseErrorUnit
interceptIOMyException
}}}
or
{{{
interceptIO[MyException] {
IO.raiseErrorUnit
}
}}}
def interceptMessageIO[T <: Throwable](expectedExceptionMessage: String)(io: IO[Any])(T: ClassTag[T], loc: Location): IO[T]
Intercepts a Throwable with a certain message being thrown inside the provided IO.
Example
{{{
val io = IO.raiseErrorUnit
interceptIOMyException(io)
}}}
or
{{{
interceptIO[MyException] {
IO.raiseErrorUnit
}
}}}
def assertSyncIO[A, B](obtained: SyncIO[A], returns: B, clue: => Any)(loc: Location, ev: B <:< A): SyncIO[Unit]
Asserts that a SyncIO returns an expected value.
The "returns" value (second argument) must have the same type or be a
subtype of the one "contained" inside the SyncIO (first argument). For example:
{{{
assertSyncIO(SyncIO(Option(1)), returns = Some(1)) // OK
assertSyncIO(SyncIO(Some(1)), returns = Option(1)) // Error: Option[Int] is not a subtype of Some[Int]
}}}
The "clue" value can be used to give extra information about the failure in case the
assertion fails.
Value Params
clue
a value that will be printed in case the assertions fails
obtained
the SyncIO under testing
returns
the expected value
def interceptSyncIO[T <: Throwable](io: SyncIO[Any])(T: ClassTag[T], loc: Location): SyncIO[T]
Intercepts a Throwable being thrown inside the provided SyncIO.
Example
{{{
val io = SyncIO.raiseErrorUnit
interceptSyncIOMyException
}}}
or
{{{
interceptSyncIO[MyException] {
SyncIO.raiseErrorUnit
}
}}}
def interceptMessageSyncIO[T <: Throwable](expectedExceptionMessage: String)(io: SyncIO[Any])(T: ClassTag[T], loc: Location): SyncIO[T]
Intercepts a Throwable with a certain message being thrown inside the provided SyncIO.
Example
{{{
val io = SyncIO.raiseErrorUnit
interceptSyncIOMyException(io)
}}}
or
{{{
interceptSyncIO[MyException] {
SyncIO.raiseErrorUnit
}
}}}