Sha256: a80ffcae4e6e22b3985b7eee5285ee735fae7d4db7ec09f0d0b1efaec2e6932e

Contents?: true

Size: 853 Bytes

Versions: 6

Compression:

Stored size: 853 Bytes

Contents

require "spec_helper"

describe Split::Algorithms::WeightedSample do
  it "should return an alternative" do
    experiment = Split::ExperimentCatalog.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::ExperimentCatalog.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::ExperimentCatalog.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

6 entries across 6 versions & 1 rubygems

Version Path
split-1.3.2 spec/algorithms/weighted_sample_spec.rb
split-1.3.1 spec/algorithms/weighted_sample_spec.rb
split-1.3.0 spec/algorithms/weighted_sample_spec.rb
split-1.2.1 spec/algorithms/weighted_sample_spec.rb
split-1.2.0 spec/algorithms/weighted_sample_spec.rb
split-1.1.0 spec/algorithms/weighted_sample_spec.rb