J'utilise Triq (erlang quickcheck) et je rencontre des problèmes pour générer un ensemble de règles nice pour mon programme.Génération d'une règle aléatoire pour le test basé sur la propriété
Ce que je veux générer sont des choses qui ressemble à ceci:
A -> B
où je voudrais fournir A
et la taille de B
, avec celui-ci ne pas avoir de dupicates. Par exemple, si je dis générer des règles avec L.H.S. de [a]
et R.H.S. de la taille 4 (.-à-dire A = [a]
et size(B) = 4
) Je voudrais obtenir quelque chose comme ceci:
{rule, [a], [1,2,4,5]}
{rule, [a], [a,d,c,e]}
{rule, [a], [q,d,3,4]}
Remarque, je ne veux pas tout dupicates en B (ce qui est la partie que je vais avoir du mal à). En outre, peu importe ce que contient B - cela peut être n'importe quoi tant qu'il est distinct et sans dupicates.
Ma spécification est beaucoup trop salissante pour montrer ici, donc je préfère ne pas.
Merci, juste une question: pourquoi avons-nous générons 3 fois plus? Le numéro trois est-il spécial, ou voulez-vous dire que nous devons simplement générer plus que nécessaire? – drozzy
Non, il ne "garantit" pas qu'il restera assez d'éléments distincts après la suppression des doublons. – aronisstav
Est-ce que ça va toujours générer quelque chose? – drozzy