The type lambda of the typeclass under test. If we are
testing Monoid
laws, for example, then it would be set to
MonoidTypeLambda
.
The datatype under test. For example, when testing
Monoid
laws on Option<number>
, this would be set to
Option<number>
.
An arbitrary for the values used to test the typeclass. For example when
testing Monoid
on Option<number>
, this should return an arbitrary
for an Option<number>
.
An equivalence for the values used to test the typeclass. For example when
testing Monoid
on Option<number>
, this should return an equivalence
for an Option<number>
.
Instance under test. For example when testing the Monoid
typeclass laws
on an instance of the Option
Monoid, with the underlying type set at
number
, then the type parameter A
would be set at Option<number>
and
this field at Monoid<Option<number>>
.
Optional
suffixOptional suffix to attach to LawTest
label.
Common options for testing concrete type typeclass laws. These are the typeclasses that do not expect a higher-kinded type as their parameter. All the concrete typeclass laws expect these options to be provided.