Exemplo n.º 1
0
 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;
            };
        }
Exemplo n.º 4
0
 public void InvestigateInfo(ISeperationChecker seperationChecker)
 {
     _seperationChecker = seperationChecker;
     seperationChecker.CheckSeperation(TrackList);
 }
Exemplo n.º 5
0
        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;
            }
        }
Exemplo n.º 6
0
 public Logger(IUpdater updater, ISeperationChecker checker)
 {
     updater.TrackEntered    += logEnteredEvent;
     updater.TrackLefted     += logLeftedEvent;
     checker.SeperationAlert += logSeperationEvent;
 }