aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorZog2018-04-27 09:17:35 +0200
committerZog2018-04-27 09:20:23 +0200
commit9279fbf0cc56e0e793de2a17547da9465ae83997 (patch)
treed2cd63c25300e03858a65252f1e22a018bb083a2
parenta25f1f6dd8a55b46a9fb46a880dea2c589366bfe (diff)
downloadchouette-core-9279fbf0cc56e0e793de2a17547da9465ae83997.tar.bz2
Fix Vehicle journeys specs
-rw-r--r--spec/models/chouette/vehicle_journey_spec.rb22
1 files changed, 14 insertions, 8 deletions
diff --git a/spec/models/chouette/vehicle_journey_spec.rb b/spec/models/chouette/vehicle_journey_spec.rb
index eab5581ba..e1cbb57cb 100644
--- a/spec/models/chouette/vehicle_journey_spec.rb
+++ b/spec/models/chouette/vehicle_journey_spec.rb
@@ -918,6 +918,11 @@ describe Chouette::VehicleJourney, :type => :model do
end
end
+ def offset_passing_time time, offset
+ new_time = time + offset
+ "2000-01-01 #{new_time.hour}:#{new_time.min}:#{new_time.sec} UTC".to_time
+ end
+
describe "#fill_passing_time_at_borders" do
before do
start = create :stop_area
@@ -946,22 +951,23 @@ describe Chouette::VehicleJourney, :type => :model do
}
@journey = create :vehicle_journey, journey_pattern: journey_pattern
@journey.vehicle_journey_at_stops.destroy_all
- @start = create :vehicle_journey_at_stop, stop_point: start_point, vehicle_journey: @journey
+ departure_time = Time.now.noon
+ @start = create :vehicle_journey_at_stop, stop_point: start_point, vehicle_journey: @journey, departure_time: departure_time
@target = create :vehicle_journey_at_stop, stop_point: border_point, vehicle_journey: @journey, arrival_time: nil, departure_time: nil
@target_2 = create :vehicle_journey_at_stop, stop_point: border_point_2, vehicle_journey: @journey, arrival_time: nil, departure_time: nil
@middle = create :vehicle_journey_at_stop, stop_point: middle_point, vehicle_journey: @journey, arrival_time: @start.arrival_time + 4.hours, departure_time: @start.departure_time + 4.hours
@target_3 = create :vehicle_journey_at_stop, stop_point: border_point_3, vehicle_journey: @journey, arrival_time: nil, departure_time: nil
@target_4 = create :vehicle_journey_at_stop, stop_point: border_point_4, vehicle_journey: @journey, arrival_time: nil, departure_time: nil
- @end = create :vehicle_journey_at_stop, stop_point: end_point, vehicle_journey: @journey, arrival_time: @middle.arrival_time + 4.hours, departure_time: @middle.departure_time + 4.hours
+ @end = create :vehicle_journey_at_stop, stop_point: end_point, vehicle_journey: @journey, arrival_time: offset_passing_time(@middle.arrival_time, 4.hours), departure_time: offset_passing_time(@middle.departure_time, 4.hours)
end
it "should compute passing time" do
@journey.reload.fill_passing_time_at_borders
- expect(@target.reload.arrival_time.to_i).to eq (@start.reload.departure_time + 1.0/3 * (@middle.reload.arrival_time - @start.departure_time)).to_i
+ expect(@target.reload.arrival_time.to_i).to eq offset_passing_time(@start.reload.departure_time, 1.0/3 * (@middle.reload.arrival_time - @start.departure_time)).to_i
expect(@target_2.reload.arrival_time).to eq @target.arrival_time
expect(@target.departure_time).to eq @target.arrival_time
expect(@target_2.departure_time).to eq @target.arrival_time
- expect(@target_3.reload.arrival_time.to_i).to eq (@middle.reload.departure_time + 0.5 * (@end.reload.arrival_time - @middle.departure_time)).to_i
+ expect(@target_3.reload.arrival_time.to_i).to eq offset_passing_time(@middle.reload.departure_time, 0.5 * (@end.reload.arrival_time - @middle.departure_time)).to_i
expect(@target_4.reload.arrival_time).to eq @target_3.arrival_time
expect(@target_3.departure_time).to eq @target_3.arrival_time
expect(@target_4.departure_time).to eq @target_3.arrival_time
@@ -969,16 +975,16 @@ describe Chouette::VehicleJourney, :type => :model do
context "with a day offset" do
before do
- @end.update arrival_time: @middle.departure_time - 4.hours, departure_time: @middle.departure_time - 4.hours, departure_day_offset: 1, arrival_day_offset: 1
+ @end.update arrival_time: offset_passing_time(@middle.departure_time, - 4.hours), departure_time: offset_passing_time(@middle.departure_time, - 4.hours), departure_day_offset: 1, arrival_day_offset: 1
end
- it "should compute passing time", pending: true do
+ it "should compute passing time" do
@journey.reload.fill_passing_time_at_borders
- expect(@target.reload.arrival_time.to_i).to eq (@start.reload.departure_time + 1.0/3 * (@middle.reload.arrival_time - @start.departure_time)).to_i
+ expect(@target.reload.arrival_time.to_i).to eq offset_passing_time(@start.reload.departure_time, 1.0/3 * (@middle.reload.arrival_time - @start.departure_time)).to_i
expect(@target_2.reload.arrival_time).to eq @target.arrival_time
expect(@target.departure_time).to eq @target.arrival_time
expect(@target_2.departure_time).to eq @target.arrival_time
- expect(@target_3.reload.arrival_time.to_i).to eq (@middle.reload.departure_time - 14.hours).to_i
+ expect(@target_3.reload.arrival_time.to_i).to eq offset_passing_time(@middle.reload.departure_time, 10.hours).to_i
expect(@target_3.arrival_day_offset).to eq 1
expect(@target_3.departure_day_offset).to eq 1
expect(@target_4.reload.arrival_time).to eq @target_3.arrival_time