massiv-test
This package is designed for users of massiv
, that would like to do some testing of
their code, while reusing functionality that has already been written for testing massiv
itsef. This library is still a work in progress, nevertheless it is at a fairly usable
state. Below is a list of use case for this package.
QuickCheck generators
First and foremost this package provides Arbitrary
and CoArbitrary
instances for the
relevant types available in massiv
, as well as few extra handy newtype
wrappers that
can be very useful for writing property tests for libraries and applications that depends
on massiv
.
Reusable spec
Another important use case is for advanced users that came up with their own index types
or array representations and would like to run a standard set of specs on their instance
implementations. For example a custom Index ix
, or Mutable r ix e
instances can use a
predefined collection of hspec
specs and/or QuickCheck
properties to validate their
implementation.
Test suite for massiv
Internally massiv-test
package contains all of the tests that are used on massiv
. The
whole test suite has been extracted out to make the massiv
package lighter as well as to
make the test functionality reusable, without impacting the dependency footprint of the
user that does not need the testing functionlity.
Because of this usecase, the major version of massiv-test
is expected to increase with
almost every release of massiv
.
Doctests
Together with examples in haddock it is possible to describe various properties. Those
examples and properties can be tested with doctests, but such properties can not be tested
without QuickCheck generators readily available for import, for that reason doctest
test
section of massiv
also depends on massiv-test
.
More info
For more info on massiv
and related libraries refer to
README on github.