У меня есть свойство quickCheck , которое включает генерацию элементов для типа суммы, который имеет только два элемента.
Очевидно, что число тестовых случаев по умолчанию, 100, слишком много для этого случаяи поэтому я использовал withMaxSuccess
, чтобы уменьшить количество дел до 3. Это выполняется быстро, но не идеально по двум причинам.Во-первых, три тестовых случая - это больше, чем требуется два.А во-вторых, эти три случая не являются исчерпывающими из-за вероятности 1-в-4, что все три включают один и тот же элемент, за исключением другого.
Я попробовал модификатор QuickCheck forAll
, которыйказалось, что он может делать то, что я ищу, но количество выполненных тестов было все еще 100.
Если у меня есть тип с конечным числом элементов, который будет генератором для теста QuickCheck, есть лиспособ настроить QuickCheck для комплексного тестирования свойства над типом, запустив его с каждым элементом один раз?
Чтобы определить, имеет ли тип конечное число элементов, возможно, он может быть квалифицирован обоими Enum
и Bounded
классы типов.