def provide_require_st(draw, filter_=True): # pragma: no cover
commands = draw(range_intagers_st)
provides = draw(
st.lists(
st.lists(range_intagers_st, max_size=10),
min_size = commands,
max_size = commands
),
)
is_func = draw(
st.lists(
st.booleans(),
min_size = commands,
max_size = commands
)
)
provides_set = set()
for command in provides:
provides_set.update(command)
requires = []
if provides_set:
for command in provides:
if command:
max_prov = max(command)
else:
max_prov = 0
if filter_:
provides_filter = [x for x in provides_set if x > max_prov]
else:
provides_filter = provides_set
if provides_filter:
sample = st.sampled_from(provides_filter)
requires.append(draw(st.lists(sample, max_size=10)))
else:
requires.append([])
else:
requires = [[]] * commands
return (provides, requires, is_func)
评论列表
文章目录