Class: Henitai::SamplingStrategy

Inherits:
Object
  • Object
show all
Defined in:
lib/henitai/sampling_strategy.rb,
sig/henitai.rbs

Overview

Samples mutants in a strategy-aware, deterministic way.

Instance Method Summary collapse

Constructor Details

#initializeSamplingStrategy

Returns a new instance of SamplingStrategy.



327
# File 'sig/henitai.rbs', line 327

def initialize: () -> void

Instance Method Details

#sample(mutants, ratio:, strategy: :stratified) ⇒ Array[Mutant]

Parameters:

  • (Array[Mutant])
  • ratio: (Float)
  • strategy: (Symbol) (defaults to: :stratified)

Returns:



6
7
8
9
10
11
12
13
14
15
# File 'lib/henitai/sampling_strategy.rb', line 6

def sample(mutants, ratio:, strategy: :stratified)
  strategy = strategy.to_sym if strategy.respond_to?(:to_sym)

  case strategy
  when :stratified
    stratified_sample(Array(mutants), ratio:)
  else
    raise ArgumentError, "Unsupported sampling strategy: #{strategy}"
  end
end