From e2dd011b16e746c5273b7b4a759922c762f6101e Mon Sep 17 00:00:00 2001 From: Alex Reisner <alex@alexreisner.com> Date: Fri, 7 Dec 2012 16:45:10 -0500 Subject: [PATCH] Simplify and improve configuration tests. Previously they were testing many things which were not configuration. All we care about is whether settings are read/writeable via the methods provided. --- test/configuration_test.rb | 61 +++++++------------------------------- 1 file changed, 11 insertions(+), 50 deletions(-) diff --git a/test/configuration_test.rb b/test/configuration_test.rb index 4137fbf4..14859bf7 100644 --- a/test/configuration_test.rb +++ b/test/configuration_test.rb @@ -13,63 +13,24 @@ class ConfigurationTest < Test::Unit::TestCase end end - # --- class method configuration --- - def test_configurated_by_class_method - Geocoder::Configuration.units = :mi - distance = Geocoder::Calculations.distance_between([0,0], [0,1]).round - assert_not_equal 111, distance - assert_equal 69, distance - - Geocoder::Configuration.units = :km - distance = Geocoder::Calculations.distance_between([0,0], [0,1]).round - assert_equal 111, distance - assert_not_equal 69, distance - - Geocoder::Configuration.distances = :spherical - angle = Geocoder::Calculations.bearing_between([50,-85], [40.750354, -73.993371]).round - assert_equal 136, angle - assert_not_equal 130, angle + def test_setting_with_class_method + Geocoder::Configuration.units = :test + assert_equal :test, Geocoder.configure.units + end - Geocoder::Configuration.distances = :linear - angle = Geocoder::Calculations.bearing_between([50,-85], [40.750354, -73.993371]).round - assert_not_equal 136, angle - assert_equal 130, angle + def test_setting_with_configure_method + Geocoder.configure.units = :test + assert_equal :test, Geocoder::Configuration.units end - # --- Geocoder#configure distances configuration --- - def test_geocoder_configuration - # DSL + def test_setting_with_block_syntax Geocoder.configure do |config| - config.units = :mi - config.distances = :linear + config.units = :test end - - assert_equal Geocoder::Configuration.units, :mi - distance = Geocoder::Calculations.distance_between([0,0], [0,1]).round - assert_not_equal 111, distance - assert_equal 69, distance - - assert_equal Geocoder::Configuration.distances, :linear - angle = Geocoder::Calculations.bearing_between([50,-85], [40.750354, -73.993371]).round - assert_not_equal 136, angle - assert_equal 130, angle - - # Direct - Geocoder.configure.units = :km - Geocoder.configure.distances = :spherical - - assert_equal Geocoder::Configuration.units, :km - distance = Geocoder::Calculations.distance_between([0,0], [0,1]).round - assert_equal 111, distance - assert_not_equal 69, distance - - assert_equal Geocoder::Configuration.distances, :spherical - angle = Geocoder::Calculations.bearing_between([50,-85], [40.750354, -73.993371]).round - assert_equal 136, angle - assert_not_equal 130, angle + assert_equal :test, Geocoder::Configuration.units + assert_equal :test, Geocoder.configure.units end - # Geocoder per-model configuration def test_model_configuration Landmark.reverse_geocoded_by :latitude, :longitude, :method => :spherical, :units => :km assert_equal :km, Landmark.geocoder_options[:units] -- GitLab