ComposeLaw

abstract class ComposeLaw[-CapsF[_[_]], -Caps[_]](label: String) extends Covariant[CapsF, Caps, Any]

Constructs a law from a pure function taking one parameterized value and two functions that can be composed.

class Covariant[CapsF, Caps, Any]
class Object
trait Matchable
class Any
ComposeLaw[CapsF, Caps]

Value members

Abstract methods

def apply[F[_] : CapsF, A : Caps, B : Caps, C : Caps](fa: F[A], f: A => B, g: B => C): TestResult

Concrete methods

final def run[R, F[_] : CapsF, A : Caps](genF: GenF[R, F], gen: Gen[R, A])(implicit evidence$13: CapsF[F], evidence$14: Caps[A], trace: Trace): URIO[R, TestResult]

Test that values of type F[+_] satisfy the laws using the specified function to construct a generator of F[A] values given a generator of A values.

Test that values of type F[+_] satisfy the laws using the specified function to construct a generator of F[A] values given a generator of A values.

Inherited methods

def +[CapsF1 <: ([x[_]] =>> CapsF[x]), Caps1 <: (Caps), R1](that: Covariant[CapsF1, Caps1, R1]): Covariant[CapsF1, Caps1, R1]

Combine these laws with the specified laws to produce a set of laws that require both sets of laws to be satisfied.

Combine these laws with the specified laws to produce a set of laws that require both sets of laws to be satisfied.

Inherited from:
Covariant