从这里:
from hypothesis import given, strategies as st
@given(seq=st.one_of(st.binary(), st.binary().map(bytearray), st.lists(st.integers())))
def test_idempotent_timsort(seq):
result = timsort(seq=seq)
repeat = timsort(seq=result)
assert result == repeat, (result, repeat)
最后一个断言是什么意思?我明白了
result == repeat
但是剩下的是什么?
assert
的第二个“参数”是断言失败时打印的消息。这里的想法是能够轻松地看到调试的预期值和实际值,特别是因为这里将生成一大堆测试。hypothesis