Ich übe Junit-Quickcheck.junit-quickcheck - zufällige Bäume erzeugen, die die Tiefe endlich halten
Ich habe Generatoren für die drei Sortierkomponenten eines Binärbaums vorbereitet (Node
, Leaf
, Empty
).
Ich möchte zufällige Bäume erstellen und Eigenschaften auf ihnen überprüfen.
Der Generator für Node
s wählt nach bestimmten Wahrscheinlichkeiten weitere Generatoren für seine beiden Zweige aus.
Allerdings möchte ich, dass die Bäume irgendwann während jedes Laufs aufhören zu wachsen. Die Wahrscheinlichkeit, einen Teilbaum zu erstellen, der Node
ist, muss mit der Entwicklung der Generation abnehmen.
Ich hatte gehofft, die Tiefe des Baumes mit Hilfe der GenerationStatus
zu kontrollieren, aber ich kann nicht genau sehen, wie. Eine andere Hypothese ist, die Methode configure()
des nächsten Generators vor generate()
aufzurufen, aber ich habe es noch nicht geschafft.
Was ist der richtige Weg, um all das zu erreichen?