-
Notifications
You must be signed in to change notification settings - Fork 13
Incorporate hedgehog-like property testing #5
Comments
Hi guys, |
@ysusuk I think the main tasks are:
In the end, the interface will be similar to Then separate tickets can add other features like "free mutations", etc. |
I don't exactly want to do what hedgehog does. I'd much prefer to generate data in order of increasing size, so that we never have to shrink at all. |
Because there are infinitely many examples at any size, even if you generate examples with increasing size, if you find a failure, it’s still very likely you can minimize it. I.e. the fact you generated with increasing size does not lower the odds you can shrink failures. |
Right, agreed up to a point. Shrinking is necessary, but I do think it will certainly lower the odds that we need to shrink a lot. |
Hey guys, @charleso and I are thinking about resuming the work on the scala port and I thought we could use some input from you so all the work done can be shared with testz. The general idea would be to design it in a way that it exposes a few core building blocks to be combined as required instead of trying to solve the whole thing ala framework. From a chat with Ed we have:
And I think @alexknvl might have something to say too |
Just for context, I was the one who hacked together scala-hedgehog in a weekend, and it was an exact 1:1 with the current haskell-hedgehog API (which led to all sorts of fun type-inference problems with the monad transformers). Just in case you haven't seen it there is also sonic which was done around the same time, but I haven't spoken to the author at all. EDIT: I haven't touched From my perspective I don't really see the value in having multiple versions of the same concept (in particular "free shrinking"). Or at least I won't personally be putting any more effort there if there is more effort/focus elsewhere. I would happily push to delete Please let me know if there's anything I can do to help. |
@edmundnoble Apologies if you already know all of the context for Hedgehog, but Jacob who started the library did an excellent talk last year about it. |
Why not more simply provide the necessary (if any) support to ergonomically use scala-hedgehog with testz? With regards to tweaking the generation strategy perhaps that could be a feature request for scala-hedgehog. |
there's also another approach: |
Apparently there is already a Scala port.
The text was updated successfully, but these errors were encountered: