private static ITrafficLightService CreateService() { var digitPredictor = new DigitPredictor(new BrokenSectionsExpert()); var timePredictor = new TrafficLightTimePredictor(digitPredictor); var storage = new EfStorage(new Context(CreateOptions())); return(new TrafficLightService(storage, new BrokenSectionsExpert(), timePredictor)); }
private TrafficLightDigits[] Test(Light[] lights, List <Observation> storage) { var predictor = new TrafficLightTimePredictor(new DigitPredictor(new BrokenSectionsExpert())); var sequence = Guid.NewGuid(); TrafficLightDigits[] prediction = null; foreach (var light in lights) { prediction = predictor.Predict(light, storage.ToArray()); var count = storage.Count; var observation = new Observation(sequence, light, prediction.Select(x => x - count).ToArray()); storage.Add(observation); } return(prediction); }