def test_prints_output_for_explicit_examples(): @example(-1) @given(integers()) def test_positive(x): assert x > 0 assert_falsifying_output(test_positive, "Falsifying explicit", x=-1)
def test_captures_original_repr_of_example(): @example(x=[]) @given(integers()) def test_mutation(x): x.append(1) assert not x assert_falsifying_output(test_mutation, "Falsifying explicit", x=[])
def test_prints_on_failure_by_default(): @given(integers(), integers()) @settings(max_examples=100) def test_ints_are_sorted(balthazar, evans): assume(evans >= 0) assert balthazar <= evans assert_falsifying_output(test_ints_are_sorted, balthazar=1, evans=0)
def test_prints_verbose_output_for_explicit_examples(): @settings(verbosity=Verbosity.verbose) @example("NOT AN INTEGER") @given(integers()) def test_always_passes(x): pass assert_falsifying_output(test_always_passes, "Trying explicit", x="NOT AN INTEGER")
def test_deadlines_participate_in_shrinking(): @settings(deadline=500, max_examples=1000) @given(st.integers(min_value=0)) def slow_if_large(i): if i >= 1000: time.sleep(1) assert_falsifying_output( slow_if_large, expected_exception=DeadlineExceeded, i=1000, )