MyNixOS website logo
Description

Library that contains generators, properties and tests for Massiv Array Library.

This library is designed for users of massiv library that need random generators for writing custom property tests and reusing some of the predefined ones.

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 Maniest r 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.

Metadata

Version

1.0.0.0

Maintainers (1)

Platforms (75)

    Darwin
    FreeBSD
    Genode
    GHCJS
    Linux
    MMIXware
    NetBSD
    none
    OpenBSD
    Redox
    Solaris
    WASI
    Windows
Show all
  • aarch64-darwin
  • aarch64-genode
  • aarch64-linux
  • aarch64-netbsd
  • aarch64-none
  • aarch64_be-none
  • arm-none
  • armv5tel-linux
  • armv6l-linux
  • armv6l-netbsd
  • armv6l-none
  • armv7a-darwin
  • armv7a-linux
  • armv7a-netbsd
  • armv7l-linux
  • armv7l-netbsd
  • avr-none
  • i686-cygwin
  • i686-darwin
  • i686-freebsd
  • i686-genode
  • i686-linux
  • i686-netbsd
  • i686-none
  • i686-openbsd
  • i686-windows
  • javascript-ghcjs
  • loongarch64-linux
  • m68k-linux
  • m68k-netbsd
  • m68k-none
  • microblaze-linux
  • microblaze-none
  • microblazeel-linux
  • microblazeel-none
  • mips-linux
  • mips-none
  • mips64-linux
  • mips64-none
  • mips64el-linux
  • mipsel-linux
  • mipsel-netbsd
  • mmix-mmixware
  • msp430-none
  • or1k-none
  • powerpc-netbsd
  • powerpc-none
  • powerpc64-linux
  • powerpc64le-linux
  • powerpcle-none
  • riscv32-linux
  • riscv32-netbsd
  • riscv32-none
  • riscv64-linux
  • riscv64-netbsd
  • riscv64-none
  • rx-none
  • s390-linux
  • s390-none
  • s390x-linux
  • s390x-none
  • vc4-none
  • wasm32-wasi
  • wasm64-wasi
  • x86_64-cygwin
  • x86_64-darwin
  • x86_64-freebsd
  • x86_64-genode
  • x86_64-linux
  • x86_64-netbsd
  • x86_64-none
  • x86_64-openbsd
  • x86_64-redox
  • x86_64-solaris
  • x86_64-windows