Class: Henitai::SamplingStrategy

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

Overview

Samples mutants in a strategy-aware, deterministic way.

Instance Method Summary collapse

Instance Method Details

#sample(mutants, ratio:, strategy: :stratified) ⇒ Object



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