public void AddDayOnlyToTimesAfter() { var arrival = new Time(new TimeSpan(23, 59, 0)); var departure = new Time(new TimeSpan(0, 1, 0)); var scheduleLocation = new ScheduleStop() { Location = TestLocations.Surbiton, Sequence = 1, Arrival = arrival, WorkingArrival = arrival, Departure = departure, WorkingDeparture = departure, }; scheduleLocation.AddDay(Start); Assert.Equal(arrival, scheduleLocation.Arrival); Assert.Equal(arrival, scheduleLocation.WorkingArrival); var expectedDeparture = new Time(new TimeSpan(24, 1, 0)); Assert.Equal(expectedDeparture, scheduleLocation.Departure); Assert.Equal(expectedDeparture, scheduleLocation.WorkingDeparture); }
public ScheduleStop FindClosestStop(ScheduleStop currentStop, List <ScheduleStop> untimedStops) { var closestStop = (untimedStops[0], 100000000000); foreach (var scheduleStop in untimedStops) { var result = _distanceMatrixService.GetDistanceBetweenTwoStores(currentStop.Stop.Store, scheduleStop.Stop.Store).Result; var distance = result.rows[0].elements[0].distance.value; if (distance < closestStop.Item2) { closestStop.Item1 = scheduleStop; closestStop.Item2 = distance; } } return(closestStop.Item1); }
public static ScheduleStop CreateSetdownOnlyStop(Location location, Time arrival) { var stop = new ScheduleStop() { Location = location, Sequence = 1, Arrival = arrival, WorkingArrival = arrival.Subtract(ThirtySeconds), Departure = Time.NotValid, WorkingDeparture = arrival.Add(ThirtySeconds), Platform = "10", Activities = CreateActivities("D") }; return(stop); }
public static ScheduleStop CreatePickupOnlyStop(Location location, Time departure) { var stop = new ScheduleStop() { Location = location, Sequence = 1, Arrival = Time.NotValid, WorkingArrival = departure.Subtract(ThirtySeconds), Departure = departure, WorkingDeparture = departure.Add(ThirtySeconds), Platform = "10", Activities = CreateActivities("U") }; return(stop); }
public static ScheduleStop CreateStop(Location location, Time arrival, string activity = "T", int sequence = 1) { var stop = new ScheduleStop() { Location = location, Sequence = sequence, Arrival = arrival, WorkingArrival = arrival.Subtract(ThirtySeconds), Departure = arrival.Add(OneMinute), WorkingDeparture = arrival.Add(ThirtySeconds), Platform = "10", Activities = CreateActivities(activity) }; return(stop); }
private IServiceTime CreateServiceTime(ScheduleStop stop) { return(new ArrivalServiceTime(stop)); }
private DepartureServiceTime CreateServiceTime(ScheduleStop stop) { return(new DepartureServiceTime(stop)); }