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);
        }
Пример #2
0
        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);
        }
Пример #6
0
 private IServiceTime CreateServiceTime(ScheduleStop stop)
 {
     return(new ArrivalServiceTime(stop));
 }
Пример #7
0
 private DepartureServiceTime CreateServiceTime(ScheduleStop stop)
 {
     return(new DepartureServiceTime(stop));
 }