From b55fcf26a4b71ad79737bc2a0d291f6ce6944dec Mon Sep 17 00:00:00 2001 From: Teddy Wing Date: Mon, 12 Mar 2018 11:36:07 +0100 Subject: TomTom: Add method for `calculateRoute` endpoint A new method to provide access to the `/calculateRoute` endpoint, which calculates costs for a single route through a bunch of waypoints. This doesn't work currently because the API requires that I send `supportingPoints` in the body of the request. Since I'm not too clear on what those are, I'm going to cut off development of this method here and just use `#batch` instead for my purposes. My idea was to use this endpoint instead of `/batch` to allow us to calculate a single route instead of having the API do `/calculateRoute` for each of our point pairs. This seemed like it would be more efficient, and give us our distance and time costs between each waypoint all in one go, but since I'm not clear on how to use this API and whether it will give us the correct data, I'm going to stick with `/batch`. I'll probably be reverting this code. Just committing it now in case it becomes useful in the future. Refs #6095 --- spec/lib/tom_tom_spec.rb | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) (limited to 'spec') diff --git a/spec/lib/tom_tom_spec.rb b/spec/lib/tom_tom_spec.rb index 57f22d26a..c6d387b9f 100644 --- a/spec/lib/tom_tom_spec.rb +++ b/spec/lib/tom_tom_spec.rb @@ -22,4 +22,23 @@ RSpec.describe TomTom do ]) end end + + describe "#convert_way_costs_for_calculate_route" do + it "turns WayCost points into a string of colon-separated coordinates" do + way_costs = [ + WayCost.new( + departure: Geokit::LatLng.new(48, 2), + arrival: Geokit::LatLng.new(46, 3) + ), + WayCost.new( + departure: Geokit::LatLng.new(46, 3), + arrival: Geokit::LatLng.new(47.2, 3.9) + ) + ] + + expect( + tomtom.convert_way_costs_for_calculate_route(way_costs) + ).to eq('48,2:46,3:47.2,3.9') + end + end end -- cgit v1.2.3