Sha256: aec3887bcf7c6c944edf4ffb93c1623450d52685ee43697bdffff3ae98053328

Contents?: true

Size: 1.09 KB

Versions: 4

Compression:

Stored size: 1.09 KB

Contents

require 'spec_helper'

module Adhearsion
  module MenuDSL

    describe RangeMatchCalculator do
      it "matching with a Range should handle the case of two potential matches in the range" do
        digits_that_begin_with_eleven = [110..119, 1100..1111].map { |x| Array(x) }.flatten
        calculator = RangeMatchCalculator.new 11..1111, :match_payload_doesnt_matter
        match = calculator.match 11
        match.exact_matches.should == [11]
        match.potential_matches.should == digits_that_begin_with_eleven
      end

      it "return values of #match should be an instance of CalculatedMatch" do
        calculator = RangeMatchCalculator.new 1..9, :match_payload_doesnt_matter
        calculator.match(0).should be_an_instance_of CalculatedMatch
        calculator.match(1000).should be_an_instance_of CalculatedMatch
      end

      it "returns a failed match if the query is not numeric or coercible to numeric" do
        calculator = RangeMatchCalculator.new 1..9, :match_payload_doesnt_matter
        calculator.match("ABC").should be_an_instance_of CalculatedMatch
      end
    end

  end
end

Version data entries

4 entries across 4 versions & 1 rubygems

Version Path
adhearsion-2.0.0.beta1 spec/adhearsion/menu_dsl/range_match_calculator_spec.rb
adhearsion-2.0.0.alpha3 spec/adhearsion/menu_dsl/range_match_calculator_spec.rb
adhearsion-2.0.0.alpha2 spec/adhearsion/menu_dsl/range_match_calculator_spec.rb
adhearsion-2.0.0.alpha1 spec/adhearsion/menu_dsl/range_match_calculator_spec.rb