diff --git a/lib/engine/locations.ex b/lib/engine/locations.ex index b394d5eec..f2c635fbc 100644 --- a/lib/engine/locations.ex +++ b/lib/engine/locations.ex @@ -142,21 +142,19 @@ defmodule Engine.Locations do trip_id: location["vehicle"]["trip"]["trip_id"], consist: location["vehicle"]["vehicle"]["consist"], multi_carriage_details: - location["vehicle"]["multi_carriage_details"] && - Enum.map( - location["vehicle"]["multi_carriage_details"], - &parse_carriage_details/1 - ) + parse_carriage_details(location["vehicle"]["multi_carriage_details"] || []) } end defp parse_carriage_details(multi_carriage_details) do - %Locations.CarriageDetails{ - label: multi_carriage_details["label"], - occupancy_status: occupancy_status_to_atom(multi_carriage_details["occupancy_status"]), - occupancy_percentage: multi_carriage_details["occupancy_percentage"], - carriage_sequence: multi_carriage_details["carriage_sequence"] - } + Enum.map(multi_carriage_details, fn carriage_details -> + %Locations.CarriageDetails{ + label: carriage_details["label"], + occupancy_status: occupancy_status_to_atom(carriage_details["occupancy_status"]), + occupancy_percentage: carriage_details["occupancy_percentage"], + carriage_sequence: carriage_details["carriage_sequence"] + } + end) end defp occupancy_status_to_atom(status) do diff --git a/lib/predictions/predictions.ex b/lib/predictions/predictions.ex index fb2377f34..4079109a7 100644 --- a/lib/predictions/predictions.ex +++ b/lib/predictions/predictions.ex @@ -151,16 +151,11 @@ defmodule Predictions.Predictions do end @spec sufficient_certainty?(map(), String.t()) :: boolean() - defp sufficient_certainty?(_stop_time_event, route_id) - when route_id in ["Mattapan", "Green-B", "Green-C", "Green-D", "Green-E"] do - true + defp sufficient_certainty?(stop_time_event, route_id) when route_id in ["Red"] do + is_nil(stop_time_event["uncertainty"]) or stop_time_event["uncertainty"] < 120 end - defp sufficient_certainty?(stop_time_event, _route_id) do - if Application.get_env(:realtime_signs, :filter_uncertain_predictions?) do - is_nil(stop_time_event["uncertainty"]) or stop_time_event["uncertainty"] <= 300 - else - true - end + defp sufficient_certainty?(_stop_time_event, _route_id) do + true end end diff --git a/test/predictions/predictions_test.exs b/test/predictions/predictions_test.exs index b66e5c4ca..1a573cf94 100644 --- a/test/predictions/predictions_test.exs +++ b/test/predictions/predictions_test.exs @@ -882,7 +882,7 @@ defmodule Predictions.PredictionsTest do "timestamp" => nil, "trip" => %{ "direction_id" => 0, - "route_id" => "Blue", + "route_id" => "Red", "schedule_relationship" => "SCHEDULED", "start_date" => "20170329", "start_time" => nil, @@ -909,72 +909,6 @@ defmodule Predictions.PredictionsTest do assert predictions_map == %{} end - test "doesn't filter predictions with high uncertainty when feature is off" do - reassign_env(:filter_uncertain_predictions?, false) - - feed_message = %{ - "entity" => [ - %{ - "alert" => nil, - "id" => "1490783458_32568935", - "is_deleted" => false, - "trip_update" => %{ - "delay" => nil, - "stop_time_update" => [ - %{ - "arrival" => %{ - "delay" => nil, - "time" => 1_491_570_110, - "uncertainty" => 360 - }, - "departure" => %{ - "delay" => nil, - "time" => 1_491_570_120, - "uncertainty" => 360 - }, - "schedule_relationship" => "SCHEDULED", - "stop_id" => "70063", - "stop_sequence" => 1, - "stops_away" => 1, - "stopped?" => true, - "boarding_status" => "Stopped 1 stop away" - } - ], - "timestamp" => nil, - "trip" => %{ - "direction_id" => 0, - "route_id" => "Red", - "schedule_relationship" => "SCHEDULED", - "start_date" => "20170329", - "start_time" => nil, - "trip_id" => "32568935" - }, - "vehicle" => %{ - "id" => "R-54639F6C", - "label" => "1631", - "license_plate" => nil - } - }, - "vehicle" => nil - } - ], - "header" => %{ - "gtfs_realtime_version" => "1.0", - "incrementality" => "FULL_DATASET", - "timestamp" => 1_490_783_458 - } - } - - assert {%{ - {"70063", 0} => [ - %Predictions.Prediction{ - seconds_until_arrival: 110, - seconds_until_departure: 120 - } - ] - }, _} = get_all(feed_message, @current_time) - end - test "doesn't filter out uncertain light rail predictions" do reassign_env(:filter_uncertain_predictions?, true)