File: phase_specification_spec.rb

package info (click to toggle)
python-hypothesis 6.138.0-1
  • links: PTS, VCS
  • area: main
  • in suites: sid
  • size: 15,272 kB
  • sloc: python: 62,853; ruby: 1,107; sh: 253; makefile: 41; javascript: 6
file content (33 lines) | stat: -rw-r--r-- 795 bytes parent folder | download | duplicates (3)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
# frozen_string_literal: true

RSpec.describe 'specifying which phases to include' do
  include Hypothesis::Debug

  it 'alerts of improper phase names' do
    expect do
      hypothesis(phases: [:sHrInK])
    end.to raise_exception(
      ArgumentError,
      'Cannot convert to Phase: sHrInK is not a valid Phase'
    )
  end

  it 'alerts of attempting to exclude an unknown phase' do
    expect do
      hypothesis(phases: Phase.excluding(:unknown))
    end.to raise_exception(
      ArgumentError,
      'Attempting to exclude unknown phases: [:unknown]'
    )
  end

  it 'does not shrink when shrinking is skipped' do
    n = 0
    10.times do
      n, = find(phases: Phase.excluding(:shrink)) { any(integers) >= 10 }
      break if n != 10
    end

    expect(n).to_not eq(10)
  end
end