public AirTrafficController(IDataCalculator dataCalculator) { dataCalculator.CalculateEvent += RecieveCalculatedEvent; TrackList = new List <TrackInfo>(); _seperationChecker = new SeperationChecker(); //disse bør ikke oprettes her, men injecteres fra main _conditionViewer = new ConsoleViewer(); }
public void SetUp() { _conditionViewer = Substitute.For <IConditionViewer>(); _seperationChecker = Substitute.For <ISeperationChecker>(); _dataCalculator = Substitute.For <IDataCalculator>(); _uut = new AirTrafficController(_dataCalculator); }
public void SetUp() { _updater = Substitute.For <IUpdater>(); _seperationChecker = new SeperationChecker(_updater); _activeTracks = new List <Track>(); _activeEvents = new List <IEvent>(); _seperationChecker.SeperationAlert += (o, args) => { _raisedEvent = args.Event; }; _seperationChecker.SeperationStop += (o, args) => { _raisedEvent = args.Event; }; }
public void InvestigateInfo(ISeperationChecker seperationChecker) { _seperationChecker = seperationChecker; seperationChecker.CheckSeperation(TrackList); }
public Event(List <IEvent> eventList, string eventType, Track track, DateTime time, Track conflictingTrack = null, ISeperationChecker checker = null) { EventList = eventList; _eventType = eventType; Track = track; _time = time; ConflictingTrack = conflictingTrack; //updater.Re skal fjerne hvis en track ikke er seperation mode mere. EventList.Add(this); if (checker == null) { timer = new Timer(); timer.Interval = 5000; // 5 sek timer.Elapsed += DeleteThisEvent; timer.Start(); } else { checker.SeperationStop += DeleteThisIfSeperationEvent; } }
public Logger(IUpdater updater, ISeperationChecker checker) { updater.TrackEntered += logEnteredEvent; updater.TrackLefted += logLeftedEvent; checker.SeperationAlert += logSeperationEvent; }