Class: RSpec::FlakeClassifier::Sensitivity

Inherits:
Object
  • Object
show all
Defined in:
lib/rspec/flake/classifier/sensitivity.rb,
sig/rspec/flake/classifier.rbs

Constant Summary collapse

Result =

Returns:

  • (singleton(::Struct))

Instance Method Summary collapse

Constructor Details

#initialize(runner:) ⇒ Sensitivity

Returns a new instance of Sensitivity.

Parameters:

  • runner: (Object)


16
17
18
# File 'lib/rspec/flake/classifier/sensitivity.rb', line 16

def initialize(runner:)
  @runner = runner
end

Instance Method Details

#analyze(example_id, factors: %i[time randomness network],, seed: nil) ⇒ Sensitivity::Result

Parameters:

  • example_id (String)
  • factors: (Array[Symbol]) (defaults to: %i[time randomness network],)
  • seed: (Integer, nil) (defaults to: nil)

Returns:



20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
# File 'lib/rspec/flake/classifier/sensitivity.rb', line 20

def analyze(example_id, factors: %i[time randomness network], seed: nil)
  runs = []
  factor_results = {}

  Array(factors).each do |factor|
    case factor.to_sym
    when :time
      factor_results["time"] = run_time_variants(example_id, seed, runs)
    when :randomness
      factor_results["randomness"] = run_randomness_variants(example_id, seed, runs)
    when :network
      factor_results["network"] = run_network_variant(example_id, seed, runs)
    end
  end

  Result.new(example_id: example_id, factors: factor_results, runs: runs)
end