Tasty TestTrees for Lens validation https://github.com/jdnavarro/tasty-lens

Latest on Hackage:0.3.1

This package is not currently in any snapshots. If you're interested in using it, we recommend adding it to Stackage Nightly. Doing so will make builds more reliable, and allow stackage.org to host generated Haddocks.

BSD3 licensed by Danny Navarro
Maintained by j@dannynavarro.net

Tasty Lens

Hackage Version Build Status

Preassembled tasty TestTrees with sensible defaults for the validation of:

  • Lens
  • Setter
  • Traversal
  • Iso
  • Prism

Although these tests offer weaker guarantees compared to manually proving the laws through equational reasoning, they can still be useful for regression testing where you don't want to manually proof every time you make a slight change that could affect the laws.

It uses smallcheck-lens under the hood. If you don't find any functions to create the TestTrees you are looking for, you may want to use the smallcheck-lens package directly. In such case you can still check this package as a reference to implement your own smallcheck-lens TestTrees.

Check the tests in this package for usage examples.


Contributions and bug reports are welcome!

Please feel free to contact jdnavarro on the #haskell IRC channel on irc.freenode.net.


Change Log

All notable changes to this project will be documented in this file. This file follows the formatting recommendations from Keep a CHANGELOG. This project adheres to Semantic Versioning.

0.3.1 - 2015-09-23


  • Export Prism listSeries.


  • Make Depth of compositing functions for Traversal and Setter constant.

0.3 - 2015-09-11


  • Multiple TestTrees with different settings for dealing with SmallCheck Depth.


  • smallcheck specific modules from smallcheck-lens-0.1. This package now contains Tasty specific modules.


  • Simplify module hierarchy: Test.Tasty.SmallCheck.Lens -> Test.Tasty.Lens

0.1 - 2015-05-27


  • SmallCheck properties for each lens laws.
  • tasty test trees for each Lens type.
  • Tests for some Lens.
Used by 1 package:
comments powered byDisqus