Expectation

sealed abstract class Expectation[R <: Has[_]]

An Expectation[R] is an immutable tree structure that represents expectations on environment R.

Companion:
object
class Object
trait Matchable
class Any

Value members

Concrete methods

def &&[R0 <: Has[_] : Tag](that: Expectation[R0]): Expectation[R & R0]

Operator alias for and.

Operator alias for and.

def ++[R0 <: Has[_] : Tag](that: Expectation[R0]): Expectation[R & R0]

Operator alias for andThen.

Operator alias for andThen.

def and[R0 <: Has[_] : Tag](that: Expectation[R0]): Expectation[R & R0]

Compose two expectations, producing a new expectation to satisfy both.

Compose two expectations, producing a new expectation to satisfy both.

val mockEnv = MockClock.sleep(equalTo(1.second)) and
MockConsole.getStrLn(value("foo"))
def andThen[R0 <: Has[_] : Tag](that: Expectation[R0]): Expectation[R & R0]

Compose two expectations, producing a new expectation to satisfy both sequentially.

Compose two expectations, producing a new expectation to satisfy both sequentially.

val mockEnv = MockClock.sleep(equalTo(1.second)) andThen
MockConsole.getStrLn(value("foo"))
def atLeast(min: Int): Expectation[R]

Lower-bounded variant of repeated, produces a new expectation to satisfy itself sequentially at least given number of times.

Lower-bounded variant of repeated, produces a new expectation to satisfy itself sequentially at least given number of times.

def atMost(max: Int): Expectation[R]

Upper-bounded variant of repeated, produces a new expectation to satisfy itself sequentially at most given number of times.

Upper-bounded variant of repeated, produces a new expectation to satisfy itself sequentially at most given number of times.

def exactly(times: Int): Expectation[R]

Produces a new expectation to satisfy itself exactly the given number of times.

Produces a new expectation to satisfy itself exactly the given number of times.

Alias for atMost(1), produces a new expectation to satisfy itself at most once.

Alias for atMost(1), produces a new expectation to satisfy itself at most once.

def or[R0 <: Has[_] : Tag](that: Expectation[R0]): Expectation[R & R0]

Compose two expectations, producing a new expectation to satisfy one of them.

Compose two expectations, producing a new expectation to satisfy one of them.

val mockEnv = MockClock.sleep(equalTo(1.second)) or
MockConsole.getStrLn(value("foo"))
def repeats(range: Range): Expectation[R]

Repeats this expectation withing given bounds, producing a new expectation to satisfy itself sequentially given number of times.

Repeats this expectation withing given bounds, producing a new expectation to satisfy itself sequentially given number of times.

val mockEnv = MockClock.sleep(equalTo(1.second)).repeats(1, 5)

NOTE: once another repetition starts executing, it must be completed in order to satisfy the composite expectation. For example (A ++ B).repeats(1, 2) will be satisfied by either A->B (one repetition) or A->B->A->B (two repetitions), but will fail on A->B->A (incomplete second repetition).

Alias for exactly(3), produces a new expectation to satisfy itself exactly three times.

Alias for exactly(3), produces a new expectation to satisfy itself exactly three times.

def toLayer: ULayer[R]

Converts this expectation to ZLayer.

Converts this expectation to ZLayer.

Alias for exactly(2), produces a new expectation to satisfy itself exactly two times.

Alias for exactly(2), produces a new expectation to satisfy itself exactly two times.

def ||[R0 <: Has[_] : Tag](that: Expectation[R0]): Expectation[R & R0]

Operator alias for or.

Operator alias for or.