Current section

Files

Jump to
stream_data CHANGELOG.md
Raw

CHANGELOG.md

# Changelog
## v0.6.0
### Bug Fixes
* Consider max chars when generating atoms.
* Fix some small issues in `StreamData.nonempty_improper_list_of/2`.
### Features
* Add `StreamData.non_negative_integer/0`.
* Add `StreamData.repeatedly/1`.
* Add `StreamData.chardata/0`.
* Add `StreamData.codepoint/1`.
* Add support for *not implemented* properties (which are just `property "some name"`, without a `do`/`/end` body). This is on par with ExUnit's `test/1`.
* Add support for stepped ranges in `StreamData.integer/1`.
* Add support for required keys in `StreamData.optional_map/2`.
* Add `:utf8` option in `StreamData.string/1`.
## v0.5.0
* Slightly improve the shrinking algorigthm.
* Add `StreamData.map_of/2`.
* Fix a bug around the `:max_shrinking_steps` option.
* Fix a runtime warning with Elixir 1.10.
## v0.4.3
* Improve the frequency of terms in `StreamData.term/0`
* Fix a bug in `StreamData.positive_integer/0` that would crash with a generation size of `0`.
* Support inline `, do:` in `gen all` and `check all`.
* Support `:initial_seed` in `check all`.
* Export formatter configuration for `check all` and `gen all`.
* Add `StreamData.seeded/2`.
## v0.4.2
* Fix a bug when shrinking boolean values generated with `StreamData.boolean/0`
## v0.4.1
* Import all functions/macros from `ExUnitProperties` when `use`d
* Various optimizations
* Add the `:max_run_time` configuration option to go together with `:max_runs`
* Add support for `:do` syntax in `gen all`/`check all`
## v0.4.0
* Add a `StreamData.term/0` generator
* Bump the number of allowed consecutive failures in `StreamData.filter/3` and `StreamData.bind_filter/3`
* Improve error message for `StreamData.filter/3`
* Add `ExUnitProperties.pick/1`
* Add `Enumerable.slice/1` to `StreamData` structs
* Improve the performance of `StreamData.bitstring/1`
#### Breaking changes
* Remove `StreamData.unquoted_atom/0` in favour of `StreamData.atom(:unquoted | :alias)`
* Start behaving like filtering when patterns don't match in `check all` or `gen all`
* Remove special casing of `=` clauses in `check all` and `gen all`
* Introduce `StreamData.float/1` replacing `StreamData.uniform_float/0`
## v0.3.0
* Add length-related options to `StreamData.string/2`
* Introduce `StreamData.positive_integer/0`
* Raise a better error message on invalid generators
* Fix the `StreamData.t/0` type
* Add support for `rescue/catch/after` in `ExUnitProperties.property/2,3`
* Introduce `StreamData.optional_map/1`
* Add support for keyword lists as argument to `StreamData.fixed_map/1`
#### Breaking changes
* Change the arguments to `StreamData.string/2` so that it can take `:ascii`, `:alphanumeric`, `:printable`, a range, or a list of ranges or single codepoints
* Rename `PropertyTest` to `ExUnitProperties` and introduce `use ExUnitProperties` to use in tests that use property-based testing
## v0.2.0
* Add length-related options to `StreamData.list_of/2`, `StreamData.uniq_list_of/1`, `StreamData.binary/1`
* Add a `StreamData.bitstring/1` generator
#### Breaking changes
* Remove `StreamData.string_from_chars/1`, `StreamData.ascii_string/0`, and `StreamData.alphanumeric_string/0` in favour of `StreamData.string/1`
* Rename `StreamData.non_empty/1` to `StreamData.nonempty/1`
* Rename `StreamData.int/0,1` to `StreamData.integer/0,1`
* Rename `StreamData.no_shrink/` to `StreamData.unshrinkable/1`
* Remove `StreamData.uniq_list_of/3` in favour of `StreamData.uniq_list_of/2` (which takes options)
## v0.1.1
* Fix a bug with `check all` syntax where it wouldn't work with assignments in the clauses.