proptest 0.2.0

Hypothesis-like property-based testing and shrinking.
Documentation
# Proptest

Proptest is a property testing framework (the family of which QuickCheck is
perhaps most well-known) inspired by Hypothesis. It allows to test that certain
properties of your code hold for arbitrary inputs, and if a failure is found,
automatically finds the minimal test case to reproduce the problem. Unlike
QuickCheck, generation and shrinking is defined on a per-value basis instead of
per-type, which makes it much more flexible and simplifies composition.

For a full introduction and examples, see [the
documentation](https://docs.rs/proptest/).

# Status

In my personal usage, everything works pretty well, though the crate itself has
a few rough edges.

There may be breaking changes when "impl Trait" becomes stable or when the
possible restructuring of the `rand` crate occurs.

# Changelog

**0.2.0**: **Breaking changes**: `Strategy` now requires `std::fmt::Debug`. New
  additions:

  - `Strategy` now has a family of `prop_flat_map()` combinators for producing
    dynamic and higher-order strategies.

  - `Strategy` has a `prop_recursive()` combinator which allows generating
    recursive structures.

  - Added `proptest::bool::weighted()` to pull booleans from a weighted
    distribution.

  - New `prop_oneof!` macro makes it easier to select from one of several
    strategies.

  - New `prop_compose!` macro to simplify writing most types of custom
    strategies.

**0.1.1**: Add `strategy::NoShrink`, `Strategy::no_shrink()`.

# Acknowledgements

This crate wouldn't have come into existence had it not been for the [Rust port
of QuickCheck](https://github.com/burntsushi/quickcheck) and the
[`regex_generate`](https://github.com/CryptArchy/regex_generate) crate which
gave wonderful examples of what is possible.

## Contribution

Unless you explicitly state otherwise, any contribution intentionally submitted
for inclusion in the work by you, as defined in the Apache-2.0 license, shall
be dual licensed as above, without any additional terms or conditions.