dire que j'ai les types de données:QuickCheck pour générer à partir Permutations statique Liste
data A = A1 | A2 | A3
data B = B1 A | B2 A
Je peux facilement générer une liste de toutes les possibilités de B. Je veux tester toutes les permutations possibles, mais Je veux toujours utiliser QuickCheck pour cracher tous les éléments de la liste où il est appliqué. Dans ce cas, je veux tester qu'une règle est vraie pour toutes les possibilités, donc je ne veux pas générer de données aléatoires.
En supposant que j'ai déjà toutes les possibilités dans une liste, comment puis-je faire en sorte que QuickCheck produise chaque élément de la liste exactement une fois? Donner le même ensemble de valeurs exact à chaque fois.
Si vous pouvez facilement générer toutes les permutations vous-même, pourquoi ne pas le faire dans un test unitaire sans invoquer QuickCheck du tout? QuickCheck ne fait rien pour vous si vous générez vos propres cas. –
Tous mes tests utilisent QuickCheck. Je pense qu'il est plus agréable d'avoir toutes les données provenant de QuickCheck plutôt que de faire quelque chose de maladroit pour un cas particulier. Si QuickCheck peut alimenter cette liste un par un à cette vérification, alors je pense que c'est beaucoup plus propre. – kurzweil4