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); }
private void Awake() { if (Instance == null) { Instance = this; } else if (Instance != this) { Destroy(gameObject); //only one may live } }
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); }
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()); }
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)); }
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() }))); }