Sha256: d4f3c3f2429cf611505e07bb6beebe2343e027e493323efad062cec1f9c530de

Contents?: true

Size: 1.11 KB

Versions: 4

Compression:

Stored size: 1.11 KB

Contents

# encoding: utf-8

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 be == [11]
        match.potential_matches.should be == 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.rc4 spec/adhearsion/menu_dsl/range_match_calculator_spec.rb
adhearsion-2.0.0.rc3 spec/adhearsion/menu_dsl/range_match_calculator_spec.rb
adhearsion-2.0.0.rc2 spec/adhearsion/menu_dsl/range_match_calculator_spec.rb
adhearsion-2.0.0.rc1 spec/adhearsion/menu_dsl/range_match_calculator_spec.rb