ComposeLaw

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

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

class Contravariant[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: B => A, g: C => B): TestResult

Concrete methods

final def run[R <: TestConfig, F[_] : CapsF, A : Caps](genF: GenF[R, F], gen: Gen[R, A]): 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: Contravariant[CapsF1, Caps1, R1]): Contravariant[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:
Contravariant