Sha256: 3cae659e1dfe965864dc7353d585dd72b17468a933cee55c3b94a00d1a216972

Contents?: true

Size: 1.03 KB

Versions: 3

Compression:

Stored size: 1.03 KB

Contents

# frozen_string_literal: true

require "spec_helper"

describe Split::Algorithms::Whiplash do
  it "should return an algorithm" do
    experiment = Split::ExperimentCatalog.find_or_create("link_color", { "blue" => 1 }, { "red" => 1 })
    expect(Split::Algorithms::Whiplash.choose_alternative(experiment).class).to eq(Split::Alternative)
  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::Whiplash.choose_alternative(experiment).name
  end

  it "should guess floats" do
    expect(Split::Algorithms::Whiplash.send(:arm_guess, 0, 0).class).to eq(Float)
    expect(Split::Algorithms::Whiplash.send(:arm_guess, 1, 0).class).to eq(Float)
    expect(Split::Algorithms::Whiplash.send(:arm_guess, 2, 1).class).to eq(Float)
    expect(Split::Algorithms::Whiplash.send(:arm_guess, 1000, 5).class).to eq(Float)
    expect(Split::Algorithms::Whiplash.send(:arm_guess, 10, -2).class).to eq(Float)
  end
end

Version data entries

3 entries across 3 versions & 1 rubygems

Version Path
split-4.0.4 spec/algorithms/whiplash_spec.rb
split-4.0.3 spec/algorithms/whiplash_spec.rb
split-4.0.2 spec/algorithms/whiplash_spec.rb