smallcheck-lens-0.1: SmallCheck lens laws

Safe HaskellNone
LanguageHaskell2010

Test.Tasty.SmallCheck.Lens.Lens

Synopsis

Documentation

testLens :: (Eq s, Eq a, Show s, Show a, Serial IO a, Serial Identity a, CoSerial IO a, Serial IO s) => Lens' s a -> TestTree Source

A Lens' is only legal if it is a valid Traversal' (see testTraversal), and if the following laws hold:

  1. view l (set l b a)  ≡ b
  2. set l (view l a) a  ≡ a
  3. set l c (set l b a) ≡ set l c a