X-Git-Url: https://git.openstreetmap.org./rails.git/blobdiff_plain/ef7f3d800cbdd49b692df10d312e5fd880e2e938..dfbb95270782d4a290b77b7b513b5b7d9d52732a:/test/lib/bounding_box_test.rb diff --git a/test/lib/bounding_box_test.rb b/test/lib/bounding_box_test.rb index eff48655c..dc62531f5 100644 --- a/test/lib/bounding_box_test.rb +++ b/test/lib/bounding_box_test.rb @@ -1,4 +1,4 @@ -require 'test_helper' +require "test_helper" class BoundingBoxTest < ActiveSupport::TestCase def setup @@ -21,13 +21,13 @@ class BoundingBoxTest < ActiveSupport::TestCase @bad_positive_boundary_bbox = %w(181,91,0,0 0,0,181,91) @bad_negative_boundary_bbox = %w(-181,-91,0,0 0,0,-181,-91) - @bad_big_bbox = %w(-0.1,-0.1,1.1,1.1 10,10,11,11) - @bad_malformed_bbox = %w(-0.1 hello 10N2W10.1N2.1W) - @bad_lat_mixed_bbox = %w(0,0.1,0.1,0 -0.1,80,0.1,70 0.24,54.34,0.25,54.33) - @bad_lon_mixed_bbox = %w(80,-0.1,70,0.1 54.34,0.24,54.33,0.25) + @bad_big_bbox = %w(-0.1,-0.1,1.1,1.1 10,10,11,11) + @bad_malformed_bbox = %w(-0.1 hello 10N2W10.1N2.1W) + @bad_lat_mixed_bbox = %w(0,0.1,0.1,0 -0.1,80,0.1,70 0.24,54.34,0.25,54.33) + @bad_lon_mixed_bbox = %w(80,-0.1,70,0.1 54.34,0.24,54.33,0.25) @bad_limit_bbox = %w(-180.1,-90,180,90 -180,-90.1,180,90 -180,-90,180.1,90 -180,-90,180,90.1) - @good_bbox = %w(-0.1,-0.1,0.1,0.1 51.1,-0.1,51.2,0 -0.1,%20-0.1,%200.1,%200.1 - -0.1edcd,-0.1d,0.1,0.1 -0.1E,-0.1E,0.1S,0.1N S0.1,W0.1,N0.1,E0.1) + @good_bbox = %w(-0.1,-0.1,0.1,0.1 51.1,-0.1,51.2,0 -0.1,%20-0.1,%200.1,%200.1 + -0.1edcd,-0.1d,0.1,0.1 -0.1E,-0.1E,0.1S,0.1N S0.1,W0.1,N0.1,E0.1) @expand_min_lon_array = %w(2,10,10,10 1,10,10,10 0,10,10,10 -1,10,10,10 -2,10,10,10 -8,10,10,10) @expand_min_lat_array = %w(10,2,10,10 10,1,10,10 10,0,10,10 10,-1,10,10 10,-2,10,10 10,-8,10,10) @@ -42,7 +42,7 @@ class BoundingBoxTest < ActiveSupport::TestCase def test_good_bbox_from_string @good_bbox.each do |string| bbox = BoundingBox.from_s(string) - array = string.split(',').collect(&:to_f) + array = string.split(",").collect(&:to_f) check_bbox(bbox, array) end end @@ -57,14 +57,14 @@ class BoundingBoxTest < ActiveSupport::TestCase def test_good_bbox_from_params @good_bbox.each do |string| bbox = BoundingBox.from_bbox_params(:bbox => string) - array = string.split(',').collect(&:to_f) + array = string.split(",").collect(&:to_f) check_bbox(bbox, array) end end def test_good_bbox_from_lon_lat_params @good_bbox.each do |string| - array = string.split(',') + array = string.split(",") bbox = BoundingBox.from_lon_lat_params(:minlon => array[0], :minlat => array[1], :maxlon => array[2], :maxlat => array[3]) check_bbox(bbox, array.collect(&:to_f)) end @@ -79,7 +79,7 @@ class BoundingBoxTest < ActiveSupport::TestCase def test_good_bbox_from_new @good_bbox.each do |string| - array = string.split(',') + array = string.split(",") bbox = BoundingBox.new(array[0], array[1], array[2], array[3]) check_bbox(bbox, array.collect(&:to_f)) end @@ -144,7 +144,6 @@ class BoundingBoxTest < ActiveSupport::TestCase end def test_expand_max_lat_with_margin - bbox = @bbox_expand @expand_max_lat_array.each_with_index do |array_string, index| check_expand(@bbox_expand_minus_two, array_string, 1, @expand_max_lat_margin_response[index]) end @@ -210,14 +209,18 @@ class BoundingBoxTest < ActiveSupport::TestCase end end - def test_bbox_area + def test_good_bbox_area @good_bbox.each do |string| bbox = BoundingBox.from_s(string) - array = string.split(',') + array = string.split(",") assert_equal ((array[2].to_f - array[0].to_f) * (array[3].to_f - array[1].to_f)), bbox.area end end + def test_nil_bbox_area + assert_equal 0, @bbox_from_nils.area + end + def test_complete assert !@bbox_from_nils.complete?, "should contain a nil" assert @bbox_from_string.complete?, "should not contain a nil" @@ -225,28 +228,28 @@ class BoundingBoxTest < ActiveSupport::TestCase def test_centre_lon @good_bbox.each do |bbox_string| - array = bbox_string.split(',') + array = bbox_string.split(",") assert_equal ((array[0].to_f + array[2].to_f) / 2.0), BoundingBox.from_s(bbox_string).centre_lon end end def test_centre_lat @good_bbox.each do |bbox_string| - array = bbox_string.split(',') + array = bbox_string.split(",") assert_equal ((array[1].to_f + array[3].to_f) / 2.0), BoundingBox.from_s(bbox_string).centre_lat end end def test_width @good_bbox.each do |bbox_string| - array = bbox_string.split(',') + array = bbox_string.split(",") assert_equal (array[2].to_f - array[0].to_f), BoundingBox.from_s(bbox_string).width end end def test_height @good_bbox.each do |bbox_string| - array = bbox_string.split(',') + array = bbox_string.split(",") assert_equal (array[3].to_f - array[1].to_f), BoundingBox.from_s(bbox_string).height end end @@ -262,19 +265,19 @@ class BoundingBoxTest < ActiveSupport::TestCase def test_add_bounds_to_no_underscore bounds = @bbox_from_string.add_bounds_to({}) assert_equal 4, bounds.size - assert_equal @min_lon.to_s, bounds['minlon'] - assert_equal @min_lat.to_s, bounds['minlat'] - assert_equal @max_lon.to_s, bounds['maxlon'] - assert_equal @max_lat.to_s, bounds['maxlat'] + assert_equal @min_lon.to_s, bounds["minlon"] + assert_equal @min_lat.to_s, bounds["minlat"] + assert_equal @max_lon.to_s, bounds["maxlon"] + assert_equal @max_lat.to_s, bounds["maxlat"] end def test_add_bounds_to_with_underscore - bounds = @bbox_from_string.add_bounds_to({}, '_') + bounds = @bbox_from_string.add_bounds_to({}, "_") assert_equal 4, bounds.size - assert_equal @min_lon.to_s, bounds['min_lon'] - assert_equal @min_lat.to_s, bounds['min_lat'] - assert_equal @max_lon.to_s, bounds['max_lon'] - assert_equal @max_lat.to_s, bounds['max_lat'] + assert_equal @min_lon.to_s, bounds["min_lon"] + assert_equal @min_lat.to_s, bounds["min_lat"] + assert_equal @max_lon.to_s, bounds["max_lon"] + assert_equal @max_lat.to_s, bounds["max_lat"] end def test_to_scaled @@ -302,16 +305,16 @@ class BoundingBoxTest < ActiveSupport::TestCase private def check_expand(bbox, array_string, margin = 0, result = nil) - array = array_string.split(',').collect(&:to_f) + array = array_string.split(",").collect(&:to_f) result = array unless result bbox.expand!(BoundingBox.new(array[0], array[1], array[2], array[3]), margin) check_bbox(bbox, result) end def check_bbox(bbox, result) - assert_equal result[0], bbox.min_lon, 'min_lon' - assert_equal result[1], bbox.min_lat, 'min_lat' - assert_equal result[2], bbox.max_lon, 'max_lon' - assert_equal result[3], bbox.max_lat, 'max_lat' + assert_equal_allowing_nil result[0], bbox.min_lon, "min_lon" + assert_equal_allowing_nil result[1], bbox.min_lat, "min_lat" + assert_equal_allowing_nil result[2], bbox.max_lon, "max_lon" + assert_equal_allowing_nil result[3], bbox.max_lat, "max_lat" end end