smallcheck-lens-0.1: SmallCheck lens laws

Safe HaskellSafe
LanguageHaskell2010

Test.SmallCheck.Lens

Contents

Description

Property creators for every individual Lens law using explicit Series.

Use this module when you need different Series to the ones implicitly in Test.Tasty.SmallCheck.Lens or when you don't want to use tasty as the test runner.

Synopsis

Setter

setterId :: (Eq s, Monad m, Show s) => ASetter' s a -> Series m s -> Property m Source

setterSetSet :: (Monad m, Eq s, Show s, Show a) => ASetter' s a -> Series m s -> Series m a -> Series m a -> Property m Source

setterComposition :: (Monad m, Eq s, Show s, Show a, Serial Identity a) => ASetter' s a -> Series m s -> Series m (a -> a) -> Series m (a -> a) -> Property m Source

Traversal

traversePure :: forall m f s a. (Monad m, Show s, Applicative f, Eq (f s)) => LensLike' f s a -> Series m s -> Property m Source

traverseCompose :: (Monad m, Show s, Show a, Show (f a), Show (g a), Applicative f, Applicative g, Eq (g (f s)), Serial Identity a) => Traversal' s a -> Series m s -> Series m (a -> f a) -> Series m (a -> g a) -> Property m Source

Lens

lensSetView :: (Monad m, Eq s, Show s) => Lens' s a -> Series m s -> Property m Source

lensViewSet :: (Monad m, Eq s, Eq a, Show s, Show a) => Lens' s a -> Series m s -> Series m a -> Property m Source

Prism

prismYin :: (Monad m, Eq s, Show s, Eq a, Show a) => Prism' s a -> Series m a -> Property m Source

prismYang :: (Monad m, Eq s, Show s, Eq a, Show a) => Prism' s a -> Series m s -> Property m Source

Iso

isoHither :: (Eq s, Show s, Eq a, Show a, Serial m a) => AnIso' s a -> Series m s -> Property m Source

isoYon :: (Eq s, Show s, Eq a, Show a, Serial m a) => AnIso' s a -> Series m a -> Property m Source