【发布时间】:2021-04-26 08:55:24
【问题描述】:
我目前正在为 Matlab 实现 PBB,并在某种程度上受到假设的影响。
我不明白假设如何处理递延策略的缩减。 在文档中有代码 sn-p
import hypothesis.strategies as st
x = st.deferred(lambda: st.booleans() | st.tuples(x, x))
x.example()
>>> (((False, (True, True)), (False, True)), (True, True))
现在,这个例子很可能会通过减少递归深度来缩小。但是,假设如何知道如何操纵 lambda 以使示例缩小?
DRMacIver回答后的问题:
- 假设是否存储了哪些选择属于哪个策略?例如:
(False,(False,False))可以构造为10010000(深度优先)。如果我们采用子序列01(其中第一个0属于策略booleans而不是现在的tuples)我们将得到示例True,这可能不算是前者的缩小版本.
【问题讨论】:
标签: python python-hypothesis property-based-testing