I would like to test a property where I use 2 probability rates p1 and p2 that must satisfy 0 < p1 < p2 < 1
let arraySizeCheck (p1:float, p2:float, xs:list<int>) =
(p1 < p2 && p1 > 0.0 && p1 < 1.0 && p2 > 0.0 && p2 < 1.0 && Seq.length xs > 0) ==>
(lazy
(
let bf1 = BloomFilter(p1, xs)
let bf2 = BloomFilter(p2, xs)
bf2.BitArraySize < bf1.BitArraySize
)
)
Check.Quick arraySizeCheck
I have tried the above example but the test result seems to be
Arguments exhausted after 0 tests. val it : unit = ()
Furthermore, I would prefer is the list xs contains no duplicates. Any help towards writing a test for this property would be appreciated. Thanks.