# File lib/camping-abingo.rb, line 671
  def ab_test(test_name, alternatives = nil, options = {})
    if (Abingo.options[:enable_specification] && !@input.test_name.nil?)                                        # Camping-specific
      choice = @input.test_name                                                                                                                                                                 # Camping-specific
    elsif (Abingo.options[:enable_override_in_session] && !@state.test_name.nil?)       # Camping-specific
      choice = @state.test_name                                                                                                                                                                 # Camping-specific
    elsif (alternatives.nil?)
      choice = Abingo.flip(test_name)
    else
      choice = Abingo.test(test_name, alternatives, options)
    end

    if block_given?
      yield(choice)
    else
      choice
    end
  end