Пример #1
0
        public void RoutePunctualityPercentage_Returning56Percent()

        {
            var result = PunctualityConverter.RoutePunctualityPercentage(_routes[0]);

            Assert.AreEqual("56%", result);
        }
Пример #2
0
        public async Task <BusStopsBusStopDto> GetBusStopIncludeAllAsync(int id)
        {
            var busStop = await _repository.GetBusStopIncludeAllAsync(id);

            var punctualityPercentage = PunctualityConverter.BusStopPunctualityPercentage(busStop);
            var busStopDto            = new BusStopsBusStopDto()
            {
                PunctualityPercentage = punctualityPercentage
            };

            return(_mapper.Map <BusStop, BusStopsBusStopDto>(busStop, busStopDto));
        }
Пример #3
0
        public void BusStopPunctualityHourMode_WhenTracesExist_ReturnsModeAsTimespan()
        {
            _busStops[0].BusStopTraces.Add(new BusStopTrace //two traces at 11:55
            {
                Id        = 10000,
                Hour      = new TimeSpan(11, 55, 0),
                BusStopId = 1
            });

            var result = PunctualityConverter.BusStopPunctualityHourMode(_busStops[0]);

            Assert.IsInstanceOf <TimeSpan>(result);
            Assert.AreEqual(new TimeSpan(11, 55, 0), result);
        }
Пример #4
0
        public async Task <IEnumerable <RoutesRouteDto> > GetAllRoutesIncludeAllAsync()    //Todo
        {
            var routes = await _repository.GetAllRoutesIncludeAllAsync();

            var routeDtoList = new List <RoutesRouteDto>();
            var result       = _mapper.Map <IEnumerable <Route>, IEnumerable <RoutesRouteDto> >(routes).ToList();

            for (int i = 0; i < result.Count(); i++)
            {
                result[i].PunctualityPercentage
                    = PunctualityConverter.RoutePunctualityPercentage(routes.ElementAt(i));
            }

            return(result);
        }
Пример #5
0
        public async Task <IEnumerable <RoutesRouteDto> > FindRoutesAsync(string startCity, string destinationCity, string days = null,
                                                                          TimeSpan hourFrom = default(TimeSpan), TimeSpan hourTo = default(TimeSpan), DateTime date = default(DateTime))
        {
            var routes = await _repository.FindRoutesAsync(startCity, destinationCity, days, hourFrom, hourTo, date);

            var result = _mapper.Map <IEnumerable <Route>, IEnumerable <RoutesRouteDto> >(routes).ToList();

            for (int i = 0; i < result.Count(); i++)
            {
                result[i].PunctualityPercentage
                    = PunctualityConverter.RoutePunctualityPercentage(routes.ElementAt(i));
            }

            return(result);
        }
Пример #6
0
        public async Task <RoutesRouteDto> GetRouteIncludeAllAsync(int id)
        {
            var route = await _repository.GetRouteIncludeAllAsync(id);

            var punctuality = PunctualityConverter.RoutePunctualityPercentage(route);
            var routeDto    = new RoutesRouteDto
            {
                PunctualityPercentage = punctuality
            };
            var result = _mapper.Map <Route, RoutesRouteDto>(route, routeDto);

            SetPunctualityForRoute(route, ref result);

            return(result);
        }
Пример #7
0
        public void BusStopPunctualityHourAvgBeforeAvgAfterTime_WhenBusStopHaveNotTraces_ReturnsTuple00()
        {
            var busStop1 = new BusStop()
            {
                BusStopTraces = new List <BusStopTrace>()
            };
            var busStop2 = new BusStop()
            {
                BusStopTraces = new List <BusStopTrace>()
            };

            var result1 = PunctualityConverter.BusStopPunctualityHourAvgBeforeAvgAfterTime(busStop1);
            var result2 = PunctualityConverter.BusStopPunctualityHourAvgBeforeAvgAfterTime(busStop2);

            Assert.AreEqual((0, 0), result1);
            Assert.AreEqual((0, 0), result2);
        }
Пример #8
0
        private static void SetPunctualityForRoute(Route route, ref RoutesRouteDto routeDto)
        {
            for (int i = 0; i < route.BusStops.Count; i++)
            {
                routeDto.BusStops.ElementAt(i).PunctualityPercentage
                    = PunctualityConverter.BusStopPunctualityPercentage(route.BusStops.ElementAt(i));
                routeDto.BusStops.ElementAt(i).PunctualityMode
                    = PunctualityConverter.BusStopPunctualityHourMode(route.BusStops.ElementAt(i)).ToString(@"hh\:mm");

                var avgTuple = PunctualityConverter
                               .BusStopPunctualityHourAvgBeforeAvgAfterTime(route.BusStops.ElementAt(i));
                routeDto.BusStops.ElementAt(i).PunctualityAvgBeforeTime = avgTuple.avgTimeBefore.ToString();
                routeDto.BusStops.ElementAt(i).PunctualityAvgAfterTime  = avgTuple.avgTimeAfter.ToString();
            }

            var avgPunctuality =
                PunctualityConverter.RoutePunctualityHourAvgBeforeAvgAfterTime(route);

            routeDto.PunctualityAvgBeforeTime = avgPunctuality.avgTimeBefore.ToString();
            routeDto.PunctualityAvgAfterTime  = avgPunctuality.avgTimeAfter.ToString();
        }
Пример #9
0
        public void RoutePunctualityHourAvgBeforeAvgAfterTime_WhenRouteHaveNotTraces_ReturnsTuple00()
        {
            var route = new Route
            {
                BusStops = new List <BusStop>
                {
                    new BusStop
                    {
                        BusStopTraces = new List <BusStopTrace>()
                    },
                    new BusStop
                    {
                        BusStopTraces = new List <BusStopTrace>()
                    }
                }
            };

            var result = PunctualityConverter.RoutePunctualityHourAvgBeforeAvgAfterTime(route);

            Assert.AreEqual((0, 0), result);
        }
Пример #10
0
        public void BusStopPunctualityHourAvgBeforeAvgAfterTime_WhenHaveOnlyAfterTraces_ReturnsTuple30()
        {
            var busStop = new BusStop
            {
                Hour          = new TimeSpan(12, 0, 0),
                BusStopTraces = new List <BusStopTrace>
                {
                    new BusStopTrace
                    {
                        Hour = new TimeSpan(11, 58, 0)
                    },
                    new BusStopTrace
                    {
                        Hour = new TimeSpan(11, 55, 0)
                    }
                }
            };

            var result = PunctualityConverter.BusStopPunctualityHourAvgBeforeAvgAfterTime(busStop);

            Assert.AreEqual((3, 0), result);
        }
Пример #11
0
        public void BusStopPunctualityHourMode_WhenTracesDontExistOrNull_ReturnBusStopHour()
        {
            var busStop1 = new BusStop()
            {
                Id      = 1,
                Address = "Address",
                Hour    = new TimeSpan(12, 0, 0)
            };
            var busStop2 = new BusStop()
            {
                Id            = 1,
                Address       = "Address",
                BusStopTraces = new List <BusStopTrace>(),
                Hour          = new TimeSpan(14, 0, 0)
            };

            var result1 = PunctualityConverter.BusStopPunctualityHourMode(busStop1);
            var result2 = PunctualityConverter.BusStopPunctualityHourMode(busStop2);

            Assert.AreEqual(new TimeSpan(12, 0, 0), result1);
            Assert.AreEqual(new TimeSpan(14, 0, 0), result2);
        }
Пример #12
0
        public void CalculateDelay_WhenBusIsLate_ReturningMinus7()
        {
            var busStop = new BusStop
            {
                Hour          = new TimeSpan(12, 0, 0),
                BusStopTraces = new List <BusStopTrace>
                {
                    new BusStopTrace
                    {
                        Hour = new TimeSpan(11, 50, 0)
                    },
                    new BusStopTrace
                    {
                        Hour = new TimeSpan(11, 55, 0)
                    }
                }
            };

            var result = PunctualityConverter.CalculateBusStopDelay(busStop);

            Assert.AreEqual(-7, result);
        }
Пример #13
0
        public void ConvertToAverageArrivedHour_FromTwoTraces_Returning2()
        {
            var busStop = new BusStop
            {
                Hour          = new TimeSpan(12, 0, 0),
                BusStopTraces = new List <BusStopTrace>
                {
                    new BusStopTrace
                    {
                        Hour = new TimeSpan(12, 10, 0)
                    },
                    new BusStopTrace
                    {
                        Hour = new TimeSpan(12, 5, 0)
                    }
                }
            };

            var result = PunctualityConverter.BusStopAverageArrivedHour(busStop);

            Assert.AreEqual(new TimeSpan(12, 7, 30), result);
        }
Пример #14
0
        public void BusStopPunctualityPercentage_WenBusStopHavntTraces_Returning0Percent()
        {
            var busStop1 = new BusStop
            {
                Id      = 1,
                Address = "Address",
                Label   = "Label"
            };

            var busStop2 = new BusStop
            {
                Id            = 1,
                Address       = "Address",
                Label         = "Label",
                BusStopTraces = new List <BusStopTrace>()
            };

            //var result1 = PunctualityConverter.BusStopPunctualityPercentage(busStop1);
            var result2 = PunctualityConverter.BusStopPunctualityPercentage(busStop2);

            //Assert.AreEqual("0%", result1);
            Assert.AreEqual("0%", result2);
        }
Пример #15
0
        public void BusStopPunctualityHourAvgBeforeAvgAfterTime_WhenBusStopHaveTraces_ReturnsTuple()
        {
            var result = PunctualityConverter.BusStopPunctualityHourAvgBeforeAvgAfterTime(_busStops[0]);

            Assert.AreEqual((4, 9), result);
        }
Пример #16
0
        public void RoutePunctualityHourAvgBeforeAvgAfterTime_WhenRouteHaveTraces_ReturnsTuple()
        {
            var result = PunctualityConverter.RoutePunctualityHourAvgBeforeAvgAfterTime(_routes[0]);

            Assert.AreEqual((4, 8), result);
        }
Пример #17
0
        public void BusStopPunctualityPercentage_FromBusStops0_Returning50Percent()
        {
            var result = PunctualityConverter.BusStopPunctualityPercentage(_busStops[0]);

            Assert.AreEqual("50%", result);
        }
Пример #18
0
        public void ConvertToAverageArrivedHour_FromBusStops0_Returning12_28()
        {
            var result = PunctualityConverter.BusStopAverageArrivedHour(_busStops[0]);

            Assert.AreEqual(new TimeSpan(12, 28, 0), result);
        }