The following simplified examples are written in Kotlin and were tested with version 0.25 and 0.26 of QuickTheories
The test case below fails reliably. Even though the theory is asking for lists ranging from size 0 to 10,000 the assumption will claim to find 0 matching values.
9143
0
0
0
0
0
0
0
0
0
0
java.lang.IllegalStateException: Gave up after finding only 0 example(s) matching the assumptions
at org.quicktheories.core.ExceptionReporter.valuesExhausted(ExceptionReporter.java:26)
at org.quicktheories.impl.TheoryRunner.check(TheoryRunner.java:39)
at org.quicktheories.dsl.TheoryBuilder.check(TheoryBuilder.java:132)
By changing the assumption to ALWAYS pass, the output is completely different:
The following simplified examples are written in Kotlin and were tested with version
0.25
and0.26
of QuickTheoriesThe test case below fails reliably. Even though the theory is asking for lists ranging from size 0 to 10,000 the assumption will claim to find 0 matching values.
The failure message for the above test is:
However, the upper bound and a non-zero lower bound do not have the same behavior as above. The following test cases always pass.
Lastly, when capturing the input to the assumption, the supplied values are very different.
The output of the above test is:
By changing the assumption to ALWAYS pass, the output is completely different: