J'essaye d'obtenir le comportement suivant avec FsCheck: Je voudrais créer un générateur qui va générer une instance de type MyUnion
, avec chaque champ de chaîne étant non -null/vide.Force FsCheck pour générer NonEmptyString pour discriminer les champs union de type chaîne
type MyNestedUnion =
| X of string
| Y of int * string
type MyUnion =
| A of int * int * string * string
| B of MyNestedUnion
Mon type « réel » est beaucoup plus grand/plus profond que la MyUnion
et FsCheck est en mesure de générer une instance sans aucun problème, mais les champs de chaîne des cas syndicaux sont parfois vides. (Par exemple, il peut générer B (Y (123, ""))
)
Peut-être existe-t-il une façon évidente de combiner NonEmptyString
de FsCheck et son support pour générer des types d'union arbitraires qui me manquent?
Tous les conseils/pointeurs dans la bonne direction grandement appréciés.
Merci!