Skip to content

Releases: Seelengrab/Supposition.jl

v0.3.5

27 Jul 09:31
e0e108f
Compare
Choose a tag to compare

Supposition v0.3.5

Diff since v0.3.4

Breaking Changes

  • None

New Features

  • It is now possible to map over multiple Possibility (See #45)
  • It is now possible to give a minimum & maximum value to Data.Floats

Bug Fixes

  • None

v0.3.4

02 Jul 08:14
3b47f8b
Compare
Choose a tag to compare

Supposition v0.3.4

Diff since v0.3.3

Breaking Changes

  • None

New Features

  • None

Bug Fixes

  • The new printing wasn't applied to Possibility created from @composed (#44)
  • Previously, using @composed on the same preexisting function more than once would overwrite the existing produce! behavior of those @composed. This is fixed, so different invocations of @composed on the same preexisting function receive distinct produce! implementations.

v0.3.3

03 Jun 11:13
4adc280
Compare
Choose a tag to compare

Supposition v0.3.3

Diff since v0.3.2

Breaking Changes

  • None

New Features

  • None

Bug Fixes

  • The new printing caused issues when the predicate/mapping function given to filter/map threw an error. In this case, the example is now omitted from the pretty printing.

v0.3.2

03 Jun 09:01
9a2c1f8
Compare
Choose a tag to compare

Supposition v0.3.2

Diff since v0.3.1

Merged pull requests:

Closed issues:

  • [UX]: Better printing of Possibility subtypes (#31)
  • [Doc]: Unexplained jargon (#35)
  • [UX]: "Given expression is not a function call or definition" for short-form function definition (#36)

v0.3.1

21 Mar 17:57
ffc9ab2
Compare
Choose a tag to compare

Supposition v0.3.1

Diff since v0.3.0

Breaking Changes

  • None

New Features

  • None

Bug Fixes

  • Calling rand in a property defined through @check function foo() .... end i.e. in long-form previously didn't accurately report the failing input when replaying the counterexample for display purposes.

v0.3.0

21 Mar 15:48
983bbe7
Compare
Choose a tag to compare

Supposition v0.3.0

Diff since v0.2.1

v0.3.0 brings a number of new features with it, as well as a very interesting new doc section considering how to use a test oracle when porting code to Julia!

Breaking Changes

  • Due to an update of the internal format DirectoryDB uses for storing counterexamples, previously found failures can lead to an error when trying to replay them. The workaround to this is to modify the property in question to enforce immediate failure (e.g. by inserting return false) after logging the generated inputs and manually inserting a unit test specifically for those inputs instead. Afterwards, you can delete the test/SuppositionDB directory to have Supposition.jl record newly found failures.

New Features

  • event!, allowing recording of interesting objects (and optionally an associated label) in a property that may help with further debugging.
  • WeightedNumbers, for drawing a number from 1:n with the probability of picking any given number biased by a given Vector{Float64} of n weights.
  • WeightedSample, for drawing from an n-element long collection biased by an n-element long Vector{Float64} of weights.
  • Both @composed and @check now allow anonymous functions to be used, making for easier creation of properties and composed Possibility without the need for coming up with a name. See their respective docstrings for more information.

Bug Fixes

  • @check now always shows the duration taken, even when invoked standalone at the top level and not just when in a @testset.

v0.2.1

15 Mar 15:25
da5bbbb
Compare
Choose a tag to compare

Supposition v0.2.1

Diff since v0.2.0

Breaking Changes

  • None

New Features

  • None

Bug Fixes

  • Fixed a bug relating to the default database when no other database is specified, resulting in an error when trying to write to that database (#32)

v0.2.0

14 Mar 17:55
dc86dc6
Compare
Choose a tag to compare

Supposition v0.2.0

Diff since v0.1.0

Breaking changes

  • None!

New Features

  • err_less - a function for comparing two thrown objects of the same type (typically <: Exception) for improving shrinking performance of exceptions with rich metadata
  • New errors are only reported once now, instead of every time they are encountered. This is based on the type & source location of the error.

Bugfixes

  • Previously, errors shrunk badly when more than one distinct error was encountered.

v0.1.0

07 Mar 21:46
c3520c6
Compare
Choose a tag to compare

Supposition v0.1.0

Initial Release 🎉