Skip to content
This repository has been archived by the owner on Mar 9, 2022. It is now read-only.

Releases: ponylang/ponycheck

0.7.0

16 Jan 03:25
Compare
Choose a tag to compare

Update to work with latest ponyc

The most recent ponyc implements RFC #65 which changes the type of Env.root.

We've updated accordingly. You won't be able to use this and future versions of the library without a corresponding update to your ponyc version.

[0.7.0] - 2022-01-16

Changed

  • Update for change in type of Env.root (PR #58)

0.6.1

11 Jan 19:17
Compare
Choose a tag to compare

Fix Randomness.u64() returning numbers out of the given range

When the range was specified, Randomness.u64() could return random numbers outside of it.

[0.6.1] - 2022-01-11

Fixed

  • Fix Randomness.u64() returning numbers out of the given range (PR #57)

0.6.0

03 Apr 03:27
Compare
Choose a tag to compare

Don't export tests as part of public interface

Prior to this change, some testing only classes were being exported as part of the ponycheck public interface.

[0.6.0] - 2021-04-03

Changed

  • Don't export test classes as part of public interface (PR #50)

0.5.4

25 Feb 23:28
Compare
Choose a tag to compare
Prep for 0.5.4 release

[skip ci]

0.5.3

25 Feb 23:28
Compare
Choose a tag to compare
Prep for 0.5.3 release

[skip ci]

0.5.2

25 Feb 23:28
Compare
Choose a tag to compare
Prep for 0.5.2 release

[skip ci]

0.5.1

25 Feb 23:29
Compare
Choose a tag to compare
Prep for 0.5.1 release

[skip ci]

0.5.0

07 Mar 15:06
Compare
Choose a tag to compare

Breaking

Property1 and all other Property classes got their property method changed from fun box to fun ref. The idea behind i is that you can access and mutate state within your property class now (e.g. increase a counter or whatever).

Added

  • We now have classes Property2, Property3 and Property4 if you want to generate multiple values for your property. Example:
class SuccessfulProperty2 is Property2[U8, U8]
  fun name(): String => "2-element-property"
  fun gen1(): Generator[U8] => Generators.u8(0, 1)
  fun gen2(): Generator[U8] => Generators.u8(2, 3)

  fun ref property2(arg1: U8, arg2: U8, h: PropertyHelper) =>
    h.assert_true((arg1 + arg2) >= arg1)
    h.assert_true((arg1 + arg2) >= arg2)

0.4.1 - Updates for current Ponylang

12 Dec 11:58
Compare
Choose a tag to compare
  • Update for current ponyc compiler and remove unsafe pattern matches
  • Update documentation for new ponylang docs theme

v0.4.0 - Partial Generators

16 May 22:12
Compare
Choose a tag to compare

Fixed

  • The reported sample after shrinking was the wrong one in case it was shrinking down to a successful sample. Issue #36 fixed by PR #38

Changed

  • Generator.generate is now partial and it is now trivial to write Generators for objects that are created by some partial functions. When a Generator errors during sample generation, it is retries up to a number of retries configurable via PropertyParams.max_generator_retries' (default is 5).
  • In that realm, the Generators API changed. Generators.one_of and Generators.frequency are not partial anymore. When they are called with no-element Seqs, the resulting Generator will always error. Safe alternatives have been added, keeping the old behavior available: Generators.one_of_safe and Generators.frequency_safe.