CatsEffectSuite

abstract class CatsEffectSuite extends FunSuite with CatsEffectAssertions with CatsEffectFixtures with CatsEffectFunFixtures
class FunSuite
trait ValueTransforms
trait SuiteTransforms
trait TestTransforms
trait TestOptionsConversions
trait FunFixtures
trait Assertions
trait CompileErrorMacro
class Suite
trait PlatformSuite
class Object
trait Matchable
class Any

Type members

Inherited classlikes

abstract class Fixture[T](val fixtureName: String)
Value Params
name

The name of this fixture, used for displaying an error message if beforeAll() or afterAll() fail.

Inherited from
Suite
class FunFixture[T]
Inherited from
FunFixtures
object FunFixture
Inherited from
FunFixtures
class MUnitCatsAssertionsForIOBooleanOps(io: IO[Boolean])
Inherited from
CatsEffectAssertions
class MUnitCatsAssertionsForIOOps[A](io: IO[A])
Inherited from
CatsEffectAssertions
class MUnitCatsAssertionsForSyncIOOps[A](io: SyncIO[A])
Inherited from
CatsEffectAssertions
final class SuiteTransform(val name: String, fn: List[Test] => List[Test])
Inherited from
SuiteTransforms
class SyncIOFunFixtureOps[T](fixture: SyncIO[FunFixture[T]])
Inherited from
CatsEffectFunFixtures
final class TestTransform(val name: String, fn: Test => Test)
Inherited from
TestTransforms
final class ValueTransform(val name: String, fn: PartialFunction[Any, Future[Any]])
Inherited from
ValueTransforms

Inherited types

final type AfterEach = GenericAfterEach[TestValue]
Inherited from
Suite
final type BeforeEach = GenericBeforeEach[TestValue]
Inherited from
Suite
final type Test = GenericTest[TestValue]
Inherited from
Suite
final type TestValue = Future[Any]
Inherited from
FunSuite

Value members

Concrete methods

Definition Classes
ValueTransforms

Inherited methods

def afterAll(): Unit

Runs once after all test cases and after all suite-local fixtures have been tear down.

Runs once after all test cases and after all suite-local fixtures have been tear down.

Inherited from
Suite
def afterEach(context: AfterEach): Unit

Runs after each individual test case.

Runs after each individual test case.

Inherited from
Suite
def assert(cond: => Boolean, clue: => Any)(loc: Location): Unit
Inherited from
Assertions
def assertEquals[A, B](obtained: A, expected: B, clue: => Any)(loc: Location, ev: B <:< A): Unit

Asserts that two elements are equal using == equality.

Asserts that two elements are equal using == equality.

The "expected" value (second argument) must have the same type or be a subtype of the "obtained" value (first argument). For example:

 assertEquals(Option(1), Some(1)) // OK
 assertEquals(Some(1), Option(1)) // Error: Option[Int] is not a subtype of Some[Int]

Use assertEquals[Any, Any](a, b) as an escape hatch to compare two values of different types. For example:

 val a: Either[List[String], Int] = Right(42)
 val b: Either[String, Int]       = Right(42)
 assertEquals[Any, Any](a, b) // OK
 assertEquals(a, b) // Error: Either[String, Int] is not a subtype of Either[List[String], Int]
Inherited from
Assertions
def assertEqualsDouble(obtained: Double, expected: Double, delta: Double, clue: => Any)(loc: Location): Unit

Asserts that two doubles are equal to within a positive delta. If the expected value is infinity then the delta value is ignored. NaNs are considered equal: assertEquals(Double.NaN, Double.NaN, *) passes.

Asserts that two doubles are equal to within a positive delta. If the expected value is infinity then the delta value is ignored. NaNs are considered equal: assertEquals(Double.NaN, Double.NaN, *) passes.

Inherited from
Assertions
def assertEqualsFloat(obtained: Float, expected: Float, delta: Float, clue: => Any)(loc: Location): Unit

Asserts that two floats are equal to within a positive delta. If the expected value is infinity then the delta value is ignored. NaNs are considered equal: assertEquals(Float.NaN, Float.NaN, *) passes.

Asserts that two floats are equal to within a positive delta. If the expected value is infinity then the delta value is ignored. NaNs are considered equal: assertEquals(Float.NaN, Float.NaN, *) passes.

Inherited from
Assertions
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.

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

Inherited from
CatsEffectAssertions
def assertNoDiff(obtained: String, expected: String, clue: => Any)(loc: Location): Unit
Inherited from
Assertions
def assertNotEquals[A, B](obtained: A, expected: B, clue: => Any)(loc: Location, ev: A =:= B): Unit
Inherited from
Assertions
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.

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

Inherited from
CatsEffectAssertions
def assume(cond: Boolean, clue: => Any)(loc: Location): Unit
Inherited from
Assertions
def beforeAll(): Unit

Runs once before all test cases and before all suite-local fixtures are setup. An error in this method aborts the test suite.

Runs once before all test cases and before all suite-local fixtures are setup. An error in this method aborts the test suite.

Inherited from
Suite
def beforeEach(context: BeforeEach): Unit

Runs before each individual test case. An error in this method aborts the test case.

Runs before each individual test case. An error in this method aborts the test case.

Inherited from
Suite
def clue[T](c: Clue[T]): T
Inherited from
Assertions
def clues(clue: Clue[_]*): Clues
Inherited from
Assertions
inline def compileErrors(inline code: String): String
Inherited from
CompileErrorMacro
def fail(message: String, clues: Clues)(loc: Location): Nothing
Inherited from
Assertions
def fail(message: String, cause: Throwable)(loc: Location): Nothing
Inherited from
Assertions
def failComparison(message: String, obtained: Any, expected: Any, clues: Clues)(loc: Location): Nothing
Inherited from
Assertions
def failSuite(message: String, clues: Clues)(loc: Location): Nothing
Inherited from
Assertions
def intercept[T <: Throwable](body: => Any)(T: ClassTag[T], loc: Location): T
Inherited from
Assertions
def interceptIO[T <: Throwable](io: IO[Any])(T: ClassTag[T], loc: Location): IO[T]

Intercepts a Throwable being thrown inside the provided IO.

Intercepts a Throwable being thrown inside the provided IO.

Example
 val io = IO.raiseError[Unit](MyException("BOOM!"))
 interceptIO[MyException](io)

or

 interceptIO[MyException] {
     IO.raiseError[Unit](MyException("BOOM!"))
 }
Inherited from
CatsEffectAssertions
def interceptMessage[T <: Throwable](expectedExceptionMessage: String)(body: => Any)(T: ClassTag[T], loc: Location): T
Inherited from
Assertions
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.

Intercepts a Throwable with a certain message being thrown inside the provided IO.

Example
 val io = IO.raiseError[Unit](MyException("BOOM!"))
 interceptIO[MyException]("BOOM!")(io)

or

 interceptIO[MyException] {
     IO.raiseError[Unit](MyException("BOOM!"))
 }
Inherited from
CatsEffectAssertions
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.

Intercepts a Throwable with a certain message being thrown inside the provided SyncIO.

Example
 val io = SyncIO.raiseError[Unit](MyException("BOOM!"))
 interceptSyncIO[MyException]("BOOM!")(io)

or

 interceptSyncIO[MyException] {
     SyncIO.raiseError[Unit](MyException("BOOM!"))
 }
Inherited from
CatsEffectAssertions
def interceptSyncIO[T <: Throwable](io: SyncIO[Any])(T: ClassTag[T], loc: Location): SyncIO[T]

Intercepts a Throwable being thrown inside the provided SyncIO.

Intercepts a Throwable being thrown inside the provided SyncIO.

Example
 val io = SyncIO.raiseError[Unit](MyException("BOOM!"))
 interceptSyncIO[MyException](io)

or

 interceptSyncIO[MyException] {
     SyncIO.raiseError[Unit](MyException("BOOM!"))
 }
Inherited from
CatsEffectAssertions
def isCI: Boolean
Inherited from
SuiteTransforms
def munitAnsiColors: Boolean
Inherited from
Assertions
def munitCaptureClues[T](thunk: => T): (T, Clues)
Inherited from
Assertions
def munitExecutionContext: ExecutionContext
Inherited from
Suite
Inherited from
TestTransforms
def munitFixtures: Seq[Fixture[_]]

Functinonal fixtures that can be reused for individual test cases or entire suites.

Functinonal fixtures that can be reused for individual test cases or entire suites.

Inherited from
Suite
def munitFlakyOK: Boolean
Inherited from
TestTransforms
Inherited from
TestTransforms
Inherited from
ValueTransforms
def munitIgnore: Boolean
Inherited from
SuiteTransforms
Inherited from
SuiteTransforms
Inherited from
SuiteTransforms
def munitPrint(clue: => Any): String
Inherited from
Assertions
final def munitSuiteTransform(tests: List[Test]): List[Test]
Inherited from
SuiteTransforms
Inherited from
SuiteTransforms
final def munitTestTransform(test: Test): Test
Inherited from
TestTransforms
Inherited from
TestTransforms
def munitTests(): Seq[Test]
Inherited from
FunSuite
def munitTimeout: Duration
Inherited from
FunSuite
final def munitValueTransform(testValue: => Any): Future[Any]
Inherited from
ValueTransforms
def test(options: TestOptions)(body: => Any)(loc: Location): Unit
Inherited from
FunSuite
def test(name: String)(body: => Any)(loc: Location): Unit
Inherited from
FunSuite

Inherited fields

val munitLines: Lines
Inherited from
Assertions
final val munitTestsBuffer: ListBuffer[Test]
Inherited from
FunSuite

Implicits

Implicits

implicit val ioRuntime: IORuntime

Inherited implicits

implicit def testOptionsFromString(name: String)(loc: Location): TestOptions

Implicitly create a TestOptions given a test name. This allows writing test("name") { ... } even if test accepts a TestOptions

Implicitly create a TestOptions given a test name. This allows writing test("name") { ... } even if test accepts a TestOptions

Inherited from
TestOptionsConversions