Test.PartialSemigroup.Hedgehog
Description
Utilities for testing partial semigroups using the hedgehog property testing library.
assoc :: (PartialSemigroup a, Eq a, Show a) => Gen a -> Property Source #
The partial semigroup associativity axiom:
For all x, y, z: If x <>? y = Just xy and y <>? z = Just yz, then x <>? yz = xy <>? z.
x
y
z
x <>? y = Just xy
<>?
Just
y <>? z = Just yz
x <>? yz = xy <>? z