Próbuję osiągnąć następujące zachowanie z FsCheck: Chciałbym utworzyć generator, który wygeneruje instancję typu MyUnion
, z każdym polem łańcuchowym jest nie -null/empty.Siła FsCheck do generowania NonEmptyString dla dyskryminujących pól unii typu string
type MyNestedUnion =
| X of string
| Y of int * string
type MyUnion =
| A of int * int * string * string
| B of MyNestedUnion
My „prawdziwym” typu jest znacznie większy/głębiej niż MyUnion
i FsCheck jest w stanie wygenerować instancję bez problemu, ale pola String przypadkach związków są czasem puste. (Na przykład może wygenerować B (Y (123, ""))
)
Być może jest jakiś oczywisty sposób połączenia FsCheck z NonEmptyString
i jego wsparcie dla generowania arbitralnych typów związków, których mi brakuje?
Wszelkie wskazówki/wskazówki w dobrym kierunku bardzo docenione.
Dzięki!