Sha256: 7889c53e918281dee415204ef7a79d6066d0a13a9eda08c82af7fabd126e9a29

Contents?: true

Size: 1.7 KB

Versions: 19

Compression:

Stored size: 1.7 KB

Contents

require File.join(File.dirname(__FILE__), 'test_base_geocoder')

Geokit::Geocoders::provider_order=[:google,:yahoo,:us]

class MultiGeocoderTest < BaseGeocoderTest #:nodoc: all
  
  def setup
    super
    @failure = Geokit::GeoLoc.new
  end
  
  def test_successful_first
    Geokit::Geocoders::GoogleGeocoder.expects(:geocode).with(@address).returns(@success)
    assert_equal @success, Geokit::Geocoders::MultiGeocoder.geocode(@address)
  end
  
  def test_failover
    Geokit::Geocoders::GoogleGeocoder.expects(:geocode).with(@address).returns(@failure)
    Geokit::Geocoders::YahooGeocoder.expects(:geocode).with(@address).returns(@success)
    assert_equal @success, Geokit::Geocoders::MultiGeocoder.geocode(@address)    
  end
  
  def test_double_failover
    Geokit::Geocoders::GoogleGeocoder.expects(:geocode).with(@address).returns(@failure)
    Geokit::Geocoders::YahooGeocoder.expects(:geocode).with(@address).returns(@failure)
    Geokit::Geocoders::UsGeocoder.expects(:geocode).with(@address).returns(@success)
    assert_equal @success, Geokit::Geocoders::MultiGeocoder.geocode(@address)    
  end
  
  def test_failure
    Geokit::Geocoders::GoogleGeocoder.expects(:geocode).with(@address).returns(@failure)
    Geokit::Geocoders::YahooGeocoder.expects(:geocode).with(@address).returns(@failure)
    Geokit::Geocoders::UsGeocoder.expects(:geocode).with(@address).returns(@failure)
    assert_equal @failure, Geokit::Geocoders::MultiGeocoder.geocode(@address)    
  end

  def test_invalid_provider
    temp = Geokit::Geocoders::provider_order
    Geokit::Geocoders.provider_order = [:bogus]
    assert_equal @failure, Geokit::Geocoders::MultiGeocoder.geocode(@address)    
    Geokit::Geocoders.provider_order = temp
  end

end

Version data entries

19 entries across 19 versions & 6 rubygems

Version Path
andre-geokit-1.1.0 test/test_multi_geocoder.rb
andre-geokit-1.2.0 test/test_multi_geocoder.rb
andre-geokit-1.2.1 test/test_multi_geocoder.rb
andre-geokit-1.2.2 test/test_multi_geocoder.rb
andre-geokit-1.2.3 test/test_multi_geocoder.rb
andre-geokit-1.2.4 test/test_multi_geocoder.rb
andre-geokit-1.2.5 test/test_multi_geocoder.rb
andre-geokit-1.2.6 test/test_multi_geocoder.rb
andre-geokit-1.3.1 test/test_multi_geocoder.rb
darrell-geokit-1.2.4.1 test/test_multi_geocoder.rb
dreamcat4-geokit-1.3.0 test/test_multi_geocoder.rb
dreamcat4-geokit-1.3.1 test/test_multi_geocoder.rb
soey-geokit-1.2.4 test/test_multi_geocoder.rb
yannski-geokit-1.2.6 test/test_multi_geocoder.rb
yannski-geokit-1.2.7 test/test_multi_geocoder.rb
geokit-1.3.0 test/test_multi_geocoder.rb
geokit-1.2.6 test/test_multi_geocoder.rb
geokit-1.3.1 test/test_multi_geocoder.rb
geokit-1.2.5 test/test_multi_geocoder.rb