@composite
def node_strategy(draw, min_number_of_applications=0, stateful_applications=False, uuid=st.uuids(), applications=application_strategy()):
 applications = {a.name: a for a in draw(st.lists(application_strategy(stateful=stateful_applications), min_size=min_number_of_applications, average_size=2, max_size=5))}
 return Node(uuid=draw(uuid), applications=applications, manifestations={a.volume.manifestation.dataset_id: a.volume.manifestation for a in applications.values() if (a.volume is not None)})

@ composite def node_strategy ( draw , min_number_of_applications = 0 , stateful_applications = False , uuid = st . uuids ( ) , applications = application_strategy ( ) ) : applications = { a . name : a for a in draw ( st . lists ( application_strategy ( stateful = stateful_applications ) , min_size = min_number_of_applications , average_size = 2 , max_size = 5 ) ) } return Node ( uuid = draw ( uuid ) , applications = applications , manifestations = { a . volume . manifestation . dataset_id : a . volume . manifestation for a in applications . values ( ) if ( a . volume is not None ) } )
a hypothesis strategy to generate a node .