diff --git a/lib/geocoder/configuration.rb b/lib/geocoder/configuration.rb index 9ab57b46a181dfd6a91495008ff857a47fb23a20..7c0fbe28360de353e7439d14234c40d065855932 100644 --- a/lib/geocoder/configuration.rb +++ b/lib/geocoder/configuration.rb @@ -55,29 +55,5 @@ module Geocoder END end - def self.test_mode=(test_mode) - if test_mode - @original_lookup = lookup - self.lookup = :test - else - self.lookup = @original_lookup - end - end - - def self.add_stub(query, results) - stubs[query] = results - end - - def self.read_stub(query) - stubs.fetch(query) { raise ArgumentError, "unknown stub request #{query}" } - end - - def self.stubs - @stubs ||= {} - end - - def self.reset_stubs - @stubs = {} - end end end diff --git a/lib/geocoder/lookups/test.rb b/lib/geocoder/lookups/test.rb index c9aed395c96f13c25e0deb46b6745149526f526b..e06171c9dbc96a4ce03a54b2832c7262efa95b33 100644 --- a/lib/geocoder/lookups/test.rb +++ b/lib/geocoder/lookups/test.rb @@ -5,10 +5,26 @@ module Geocoder module Lookup class Test < Base + def self.add_stub(query, results) + stubs[query] = results + end + + def self.read_stub(query) + stubs.fetch(query) { raise ArgumentError, "unknown stub request #{query}" } + end + + def self.stubs + @stubs ||= {} + end + + def self.reset + @stubs = {} + end + private def results(query, reverse = false) - Geocoder::Configuration.read_stub(query) + Geocoder::Lookup::Test.read_stub(query) end end diff --git a/test/test_mode_test.rb b/test/test_mode_test.rb index 51d3371f8b07b7c88e1caada28f6e74e48750993..ec8b4db1504a3efeea1bb4db8ad34d91bbe9ddc8 100644 --- a/test/test_mode_test.rb +++ b/test/test_mode_test.rb @@ -1,13 +1,19 @@ require 'test_helper' +require 'geocoder/lookups/test' class TestModeTest < Test::Unit::TestCase + def setup + @_original_lookup = Geocoder::Configuration.lookup + end + def teardown - Geocoder::Configuration.reset_stubs + Geocoder::Lookup::Test.reset + Geocoder::Configuration.lookup = @_original_lookup end def test_search_with_known_stub - Geocoder::Configuration.test_mode = true + Geocoder::Configuration.lookup = :test attributes = { 'latitude' => 40.7143528, 'longitude' => -74.0059731, @@ -19,7 +25,7 @@ class TestModeTest < Test::Unit::TestCase } coordinates = [attributes['latitude'], attributes['longitude']] - Geocoder::Configuration.add_stub("New York, NY", [attributes]) + Geocoder::Lookup::Test.add_stub("New York, NY", [attributes]) results = Geocoder.search("New York, NY") assert_equal 1, results.size @@ -36,19 +42,11 @@ class TestModeTest < Test::Unit::TestCase end def test_search_with_unknown_stub - Geocoder::Configuration.test_mode = true + Geocoder::Configuration.lookup = :test assert_raise ArgumentError do Geocoder.search("New York, NY") end end - def test_turning_off_test_mode_restores_lookup - original_lookup = Geocoder::Configuration.lookup - Geocoder::Configuration.test_mode = true - Geocoder::Configuration.test_mode = false - - assert_equal original_lookup, Geocoder::Configuration.lookup - end - end