
So what use are conditional properties meant to be used for ?? If you just want 2 integers that are not equal, it would seem a lot simpler to do this as a conditional rather than constructing some pair in an arbitrary instance ?!? Thanks On Mon, Dec 17, 2012, at 11:20 PM, Simon Hengel wrote:
On Mon, Dec 17, 2012 at 06:04:15PM +0200, Roman Cheplyaka wrote:
Unfortunately, I don't know the answer to your question.
However, if you don't find a solution, I suggest using SmallCheck instead of QuickCheck — it works better when you have many unsuitable cases. https://github.com/feuerbach/smallcheck/wiki/Comparison-with-QuickCheck
As far as I know, SmallCheck is not supported by HTF, but it is supported by test-framework.
test-framework also sometimes thinks a "Gave up!" is not a fail, which I think is a bug. But I gave up on trying to get that fixed [1], e.g. this (admittedly contrived) property is still a pass with test-framework:
defaultMain [testProperty "foo" $ \x -> x == 23 ==> True]
Cheers, Simon
[1] https://github.com/batterseapower/test-framework/issues/16