Exemple #1
0
        public void WhenNoStopsThenNoObjectives()
        {
            var startStop  = new Stop("TestStop", 10.0f, 20.0f);
            var service    = new ObjectiveGenerator(new[] { startStop, });
            var objectives = service.Generate(startStop);

            Assert.Empty(objectives);
        }
Exemple #2
0
 private void Awake()
 {
     if (Instance == null)
     {
         Instance = this;
     }
     else if (Instance != this)
     {
         Destroy(gameObject); //only one may live
     }
 }
Exemple #3
0
        public void WhenNoConnectionBetweenStopsThenNoResults()
        {
            var startStop = new Stop("Start Stop", 10.0f, 20.0f);

            startStop.AddService(new Service("1"));
            var endStop = new Stop("End Stop", 15.0f, 20.0f);

            endStop.AddService(new Service("2"));
            var service    = new ObjectiveGenerator(new[] { startStop, endStop });
            var objectives = service.Generate(startStop);

            Assert.Empty(objectives);
        }
Exemple #4
0
        public void WhenMultipleStopsThenManyObjectives()
        {
            var stops = Enumerable.Range(0, 100).Select(i =>
            {
                var stop = new Stop("Stop" + i, 0.0f + i, 0.0f);
                stop.AddService(new Service("1"));
                return(stop);
            }).ToList();
            var service    = new ObjectiveGenerator(stops);
            var objectives = service.Generate(stops.First());

            Assert.Equal(10, objectives.Count());
        }
Exemple #5
0
        public void WhenTwoStopsThenOnlyObjectiveIsBetweenThem()
        {
            var startStop = new Stop("Start Stop", 10.0f, 20.0f);

            startStop.AddService(new Service("1"));
            var endStop = new Stop("End Stop", 15.0f, 20.0f);

            endStop.AddService(new Service("1"));
            var service    = new ObjectiveGenerator(new[] { startStop, endStop });
            var objectives = service.Generate(startStop);

            Assert.Collection(objectives, x => Assert.Equal(endStop, x.EndStop));
        }
Exemple #6
0
        public ActionResult Get(string stopName, float lat, float lon)
        {
            var stops      = _dbContext.Stops.Include(x => x.Lines).ToList();
            var startStop  = _findStopQuery.Find(stopName, lat, lon);
            var generator  = new ObjectiveGenerator(stops);
            var objectives = generator.Generate(startStop);

            return(Ok(objectives.Select(x => new ObjectiveDto
            {
                EndStop = new StopDto
                {
                    Name = x.EndStop.Name,
                    Lat = x.EndStop.Latitude,
                    Lon = x.EndStop.Longitude
                },
                Points = x.CalculatePoints()
            })));
        }