aboutsummaryrefslogtreecommitdiffstats
path: root/spec
diff options
context:
space:
mode:
authorRobert2017-06-01 07:21:05 +0200
committerRobert2017-06-01 07:21:05 +0200
commitc5bf17f9c7fd84a43057c76a4a947abcc6b01621 (patch)
tree3b6f51b6a3f3ddc1f86a7dc7c797bc4219a42d0d /spec
parentb6f6bf1d65f961f4ea6c1df91bc1ade9dfa8f7e2 (diff)
parenta39d78ed314bc2eb1b030cadbbf0b928e36e1927 (diff)
downloadchouette-core-c5bf17f9c7fd84a43057c76a4a947abcc6b01621.tar.bz2
Merge branch 'master' of github.com:af83/stif-boiv
Diffstat (limited to 'spec')
-rw-r--r--spec/lib/time_duration_spec.rb14
-rw-r--r--spec/models/chouette/vehicle_journey_at_stops_day_offset_spec.rb90
2 files changed, 98 insertions, 6 deletions
diff --git a/spec/lib/time_duration_spec.rb b/spec/lib/time_duration_spec.rb
index 1cba1f6d5..bf23f7ba6 100644
--- a/spec/lib/time_duration_spec.rb
+++ b/spec/lib/time_duration_spec.rb
@@ -4,15 +4,17 @@ describe TimeDuration do
describe ".exceeds_gap?" do
context "when duration is 4.hours" do
it "should return false if gap < 1.hour" do
- t1 = Time.now
- t2 = Time.now + 3.minutes
- expect(TimeDuration.exceeds_gap?(4.hours, t1, t2)).to be_falsey
+ earlier = Time.now
+ later = Time.now + 3.minutes
+
+ expect(TimeDuration.exceeds_gap?(4.hours, earlier, later)).to be false
end
it "should return true if gap > 4.hour" do
- t1 = Time.now
- t2 = Time.now + (4.hours + 1.minutes)
- expect(TimeDuration.exceeds_gap?(4.hours, t1, t2)).to be_truthy
+ earlier = Time.now
+ later = Time.now + (4.hours + 1.minutes)
+
+ expect(TimeDuration.exceeds_gap?(4.hours, earlier, later)).to be true
end
it "returns true when `earlier` is later than `later`" do
diff --git a/spec/models/chouette/vehicle_journey_at_stops_day_offset_spec.rb b/spec/models/chouette/vehicle_journey_at_stops_day_offset_spec.rb
new file mode 100644
index 000000000..69a2d5cb9
--- /dev/null
+++ b/spec/models/chouette/vehicle_journey_at_stops_day_offset_spec.rb
@@ -0,0 +1,90 @@
+require 'spec_helper'
+
+describe Chouette::VehicleJourneyAtStop do
+ describe "#calculate" do
+ it "increments day offset when departure & arrival are on different sides
+ of midnight" do
+ at_stops = []
+ [
+ ['22:30', '22:35'],
+ ['23:50', '00:05'],
+ ['00:30', '00:35'],
+ ].each do |arrival_time, departure_time|
+ at_stops << build_stubbed(
+ :vehicle_journey_at_stop,
+ arrival_time: arrival_time,
+ departure_time: departure_time
+ )
+ end
+
+ offsetter = Chouette::VehicleJourneyAtStopsDayOffset.new(at_stops)
+
+ offsetter.calculate!
+
+ expect(at_stops[0].arrival_day_offset).to eq(0)
+ expect(at_stops[0].departure_day_offset).to eq(0)
+
+ expect(at_stops[1].arrival_day_offset).to eq(0)
+ expect(at_stops[1].departure_day_offset).to eq(1)
+
+ expect(at_stops[2].arrival_day_offset).to eq(1)
+ expect(at_stops[2].departure_day_offset).to eq(1)
+ end
+
+ it "increments day offset when an at_stop passes midnight the next day" do
+ at_stops = []
+ [
+ ['22:30', '22:35'],
+ ['01:02', '01:14'],
+ ].each do |arrival_time, departure_time|
+ at_stops << build_stubbed(
+ :vehicle_journey_at_stop,
+ arrival_time: arrival_time,
+ departure_time: departure_time
+ )
+ end
+
+ offsetter = Chouette::VehicleJourneyAtStopsDayOffset.new(at_stops)
+
+ offsetter.calculate!
+
+ expect(at_stops[0].arrival_day_offset).to eq(0)
+ expect(at_stops[0].departure_day_offset).to eq(0)
+
+ expect(at_stops[1].arrival_day_offset).to eq(1)
+ expect(at_stops[1].departure_day_offset).to eq(1)
+ end
+
+ it "increments day offset for multi-day offsets" do
+ at_stops = []
+ [
+ ['22:30', '22:35'],
+ ['01:02', '01:14'],
+ ['04:30', '04:35'],
+ ['00:00', '00:04'],
+ ].each do |arrival_time, departure_time|
+ at_stops << build_stubbed(
+ :vehicle_journey_at_stop,
+ arrival_time: arrival_time,
+ departure_time: departure_time
+ )
+ end
+
+ offsetter = Chouette::VehicleJourneyAtStopsDayOffset.new(at_stops)
+
+ offsetter.calculate!
+
+ expect(at_stops[0].arrival_day_offset).to eq(0)
+ expect(at_stops[0].departure_day_offset).to eq(0)
+
+ expect(at_stops[1].arrival_day_offset).to eq(1)
+ expect(at_stops[1].departure_day_offset).to eq(1)
+
+ expect(at_stops[2].arrival_day_offset).to eq(1)
+ expect(at_stops[2].departure_day_offset).to eq(1)
+
+ expect(at_stops[3].arrival_day_offset).to eq(2)
+ expect(at_stops[3].departure_day_offset).to eq(2)
+ end
+ end
+end