diff --git a/test/calculations_test.rb b/test/calculations_test.rb index 7b3687260523d882d59b33ef8a93a45f3c21c4ae..bf21b60151fd5915708d78751d77f11d4a601d5e 100644 --- a/test/calculations_test.rb +++ b/test/calculations_test.rb @@ -209,4 +209,16 @@ class CalculationsTest < Test::Unit::TestCase assert_equal coords, Geocoder::Calculations.extract_coordinates(l) assert_equal coords, Geocoder::Calculations.extract_coordinates(coords) end + + def test_endpoint + # test 5 time with random coordinates and headings + [0..5].each do |i| + rheading = [*0..359].sample + rdistance = [*0..100].sample + startpoint = [45.0906, 7.6596] + endpoint = Geocoder::Calculations.endpoint([45.0906, 7.6596], rheading, rdistance) + assert_in_delta rdistance, Geocoder::Calculations.distance_between(startpoint, endpoint), 1E-5 + assert_in_delta rheading, Geocoder::Calculations.bearing_between(startpoint, endpoint), 1E-2 + end + end end