Skip to content

Add min_leaves: int = 1 argument to st.recursive() #4205

@helanhalvan

Description

@helanhalvan

Hello,

It is possible this is somewhere in the documentation, but I could not find it. I have a recursive strategy, and I would like to generate very large recursive structures with a low amount of examples. However there don't seem to be a way to force hypothesis to start generating large values.

Another framework I used has a max_size parameter, where sizes go from 0 to max_size over the number of examples, so if we want faster growth that can be set to some larger number as needed.

There is a couple of options here, either we could allow for specifying some size parameter in the environment (like @settings for example), or there could be some strategies for scaling other strategies like scale in this other framework. Lastly there could be a min_leaves added to recursive.

Also, just to be clear, I much prefer hypothesis over the other framework, it is only used as a reference because it allows for manipulating the underlying size concept more directly, which is something that would simplify my use-case a good bit.

My use-case is essentially that there is a significant overhead to running a single example, while the impact of a large input is insignificant by comparison.

EDIT: also this is a question/enhancement, could not figure out how to set labels

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementit's not broken, but we want it to be better

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions