FlattenLaw

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

Constructs a law from a parameterized value wrapped in two additional layers that can be flattened.

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

Value members

Abstract methods

def apply[F[_] : CapsF, A : Caps](fffa: F[F[F[A]]]): TestResult

Concrete methods

final def run[R, F[_] : CapsF, A : Caps](genF: GenF[R, F], gen: Gen[R, A])(implicit evidence$17: CapsF[F], evidence$18: 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