cleveland-0.1.2: Testing framework for Morley.
Safe HaskellNone
LanguageHaskell2010

Lorentz.Test.DupableScan

Description

Test utilities to ensure the proper layout of non-dupable elements within datatypes.

Synopsis

Documentation

type family CheckDupablesDistribution (a :: Type) :: Either (Bool, Maybe Symbol, Type) () where ... Source #

For the given type, check that at the left subtree of pairs tree it contains only dupable elements, and at the right - only non-dupable ones.

Equations

CheckDupablesDistribution a = GCheckDupablesDistribution (Rep a) 

type VerifyDupablesDistribution a = ResToConstraint (CheckDupablesDistribution a) Source #

A constraint that, for the given type, checks that at the left subtree of pairs tree it contains only dupable elements, and at the right - only non-dupable ones.

testDupablesDistribution :: forall a. (Typeable a, DemoteRes (CheckDupablesDistribution a)) => TestTree Source #

A term-level version of VerifyDupablesDistribution for tests.

data BadElement Source #

Instances

Instances details
Eq BadElement Source # 
Instance details

Defined in Lorentz.Test.DupableScan

Show BadElement Source # 
Instance details

Defined in Lorentz.Test.DupableScan

Buildable BadElement Source # 
Instance details

Defined in Lorentz.Test.DupableScan

Methods

build :: BadElement -> Builder #