Sha256: db9a4bf6d20ee96a2e659ff9f00036a696d87978ee133321c94e260ab81cc74a

Contents?: true

Size: 1.15 KB

Versions: 8

Compression:

Stored size: 1.15 KB

Contents

require File.dirname(__FILE__) + '/../../../test_helper'

module Graticule
  module Geocoder
    class GeocoderUsTest < Test::Unit::TestCase

      def setup
        URI::HTTP.responses = []
        URI::HTTP.uris = []

        @geocoder = GeocoderUs.new
        @location = Location.new(
          :street => "1600 Pennsylvania Ave NW, Washington DC 20502",
          :longitude => -77.037684,
          :latitude => 38.898748
        )
      end

      def test_success
        prepare_response(:success)
        assert_equal @location, @geocoder.locate('1600 Pennsylvania Ave, Washington DC')
      end
    
      def test_url
        prepare_response(:success)
        @geocoder.locate('1600 Pennsylvania Ave, Washington DC')
        assert_equal 'http://rpc.geocoder.us/service/rest/geocode?address=1600%20Pennsylvania%20Ave,%20Washington%20DC',
                     URI::HTTP.uris.first
      end

      def test_locate_bad_address
        prepare_response(:unknown)
        assert_raises(AddressError) { @geocoder.locate('yuck') }
      end

    protected
      def prepare_response(id)
        URI::HTTP.responses << response('geocoder_us', id)
      end

    end
  end
end

Version data entries

8 entries across 8 versions & 2 rubygems

Version Path
norman-graticule-0.2.7 test/unit/graticule/geocoder/geocoder_us_test.rb
graticule-0.2.1 test/unit/graticule/geocoder/geocoder_us_test.rb
graticule-0.2.0 test/unit/graticule/geocoder/geocoder_us_test.rb
graticule-0.2.3 test/unit/graticule/geocoder/geocoder_us_test.rb
graticule-0.2.4 test/unit/graticule/geocoder/geocoder_us_test.rb
graticule-0.2.5 test/unit/graticule/geocoder/geocoder_us_test.rb
graticule-0.2.6 test/unit/graticule/geocoder/geocoder_us_test.rb
graticule-0.2.2 test/unit/graticule/geocoder/geocoder_us_test.rb