abstract class ComposeLaw[-CapsBothF[_[-_, +_]], -Caps[_]] extends Divariant[CapsBothF, Caps, Caps, Any]
Constructs a law from a pure function taking one parameterized value and two functions that can be composed.
- Self Type
- ComposeLaw[CapsBothF, Caps]
- Alphabetic
- By Inheritance
- ComposeLaw
- Divariant
- AnyRef
- Any
- Hide All
- Show All
- Public
- Protected
Instance Constructors
- new ComposeLaw(label: String)
Abstract Value Members
- abstract def apply[F[-_, +_], A, B, A1, A2](fa: F[A, B], f: (A) => A1, g: (A1) => A2)(implicit arg0: CapsBothF[F], arg1: Caps[A], arg2: Caps[B], arg3: Caps[A1], arg4: Caps[A2]): TestResult
- abstract def run[R1 <: Any, F[-_, +_], A, B](genF: GenF2[R1, F], gen: Gen[R1, B])(implicit arg0: CapsBothF[F], arg1: Caps[A], arg2: Caps[B], trace: Trace): ZIO[R1, Nothing, TestResult]
Test that values of type
F[+_,-_]
satisfy the laws using the specified function to construct a generator ofF[A,B]
values given a generator ofB
values.Test that values of type
F[+_,-_]
satisfy the laws using the specified function to construct a generator ofF[A,B]
values given a generator ofB
values.- Definition Classes
- Divariant
Concrete Value Members
- def +[CapsF1[x[-_, +_]] <: CapsBothF[x[_, _]], CapsLeft1[x] <: Caps[x], CapsRight1[x] <: Caps[x], R1 <: Any](that: Divariant[CapsF1, CapsLeft1, CapsRight1, R1]): Divariant[CapsF1, CapsLeft1, CapsRight1, 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.
- Definition Classes
- Divariant
- final def run[R, F[-_, +_], A, B, A1, A2](genF: GenF2[R, F], genB: Gen[R, B], genA1: Gen[R, A1], genA2: Gen[R, A2])(implicit arg0: CapsBothF[F], arg1: Caps[A], arg2: Caps[B], arg3: Caps[A1], arg4: Caps[A2], trace: Trace): URIO[R, TestResult]