Skip to content

Commit

Permalink
Revert "suppress terminal and reverse predictions for RL (#683)" (#702)
Browse files Browse the repository at this point in the history
This reverts commit 097ea6c.
  • Loading branch information
PaulJKim authored Sep 27, 2023
1 parent 22c2da4 commit ee86b03
Show file tree
Hide file tree
Showing 2 changed files with 76 additions and 5 deletions.
13 changes: 9 additions & 4 deletions lib/predictions/predictions.ex
Original file line number Diff line number Diff line change
Expand Up @@ -151,11 +151,16 @@ defmodule Predictions.Predictions do
end

@spec sufficient_certainty?(map(), String.t()) :: boolean()
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
defp sufficient_certainty?(_stop_time_event, route_id)
when route_id in ["Mattapan", "Green-B", "Green-C", "Green-D", "Green-E"] do
true
end

defp sufficient_certainty?(_stop_time_event, _route_id) do
true
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
end
end
68 changes: 67 additions & 1 deletion test/predictions/predictions_test.exs
Original file line number Diff line number Diff line change
Expand Up @@ -882,7 +882,7 @@ defmodule Predictions.PredictionsTest do
"timestamp" => nil,
"trip" => %{
"direction_id" => 0,
"route_id" => "Red",
"route_id" => "Blue",
"schedule_relationship" => "SCHEDULED",
"start_date" => "20170329",
"start_time" => nil,
Expand All @@ -909,6 +909,72 @@ 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)

Expand Down

0 comments on commit ee86b03

Please sign in to comment.