Sha256: 47cd822513895250c505d5ab4d5dc77bc55cd2477b58d65551c6dbc8296a0b09

Contents?: true

Size: 832 Bytes

Versions: 3

Compression:

Stored size: 832 Bytes

Contents

require "spec_helper"

describe Split::Algorithms::WeightedSample do
  it "should return an alternative" do
    experiment = Split::Experiment.find_or_create('link_color', {'blue' => 100}, {'red' => 0 })
    expect(Split::Algorithms::WeightedSample.choose_alternative(experiment).class).to eq(Split::Alternative)
  end

  it "should always return a heavily weighted option" do
    experiment = Split::Experiment.find_or_create('link_color', {'blue' => 100}, {'red' => 0 })
    expect(Split::Algorithms::WeightedSample.choose_alternative(experiment).name).to eq('blue')
  end

  it "should return one of the results" do
    experiment = Split::Experiment.find_or_create('link_color', {'blue' => 1}, {'red' => 1 })
    expect(['red', 'blue']).to include Split::Algorithms::WeightedSample.choose_alternative(experiment).name
  end
end

Version data entries

3 entries across 3 versions & 1 rubygems

Version Path
split-1.0.0 spec/algorithms/weighted_sample_spec.rb
split-0.8.0 spec/algorithms/weighted_sample_spec.rb
split-0.7.3 spec/algorithms/weighted_sample_spec.rb