public Air_Traffic_Monitor(ISignalForwarder airport, IOccurenceDetector detector, IDisplay display, IOccurrenceLogger logger, IFormat formatter, IConsoleClear console, IExceptionHandler exc)
 {
     Tracks                           = new List <Track>();
     OccurrenceTracks                 = new List <string[]>();
     Airport                          = airport;
     Display                          = display;
     Detector                         = detector;
     Logger                           = logger;
     Formatter                        = formatter;
     Airport.TrackDataEvent          += HandleTrackEvent;
     Detector.OccurenceDetectedEvent += HandleOccurenceEvent;
     Console                          = console;
     Exception                        = exc;
 }
        public void Setup()
        {
            _occurenceSource = Substitute.For <IOccurenceDetector>();

            _display   = Substitute.For <IDisplay>();
            _logger    = Substitute.For <IOccurrenceLogger>();
            _formatter = Substitute.For <IFormat>();
            _airport   = Substitute.For <ISignalForwarder>();
            _console   = Substitute.For <IConsoleClear>();
            _exception = Substitute.For <IExceptionHandler>();

            _observedTrack  = new Track();
            _occurenceTrack = new Track();

            _observedTrack.Tag  = "Track1";
            _occurenceTrack.Tag = "Track2";

            _observedTrack.CurrentAltitude  = 1000;
            _observedTrack.CurrentPositionX = 5000;
            _observedTrack.CurrentPositionY = 5000;

            _occurenceTrack.CurrentAltitude  = 1200;
            _occurenceTrack.CurrentPositionX = 7600;
            _occurenceTrack.CurrentPositionY = 7600;
            _track = new Track
            {
                CurrentAltitude           = 600,
                CurrentCompassCourse      = 200,
                CurrentHorizontalVelocity = 300,
                CurrentPositionX          = 10000,
                CurrentPositionY          = 10000,
                Tag       = "aaaaaa",
                TimeStamp = new DateTime(2020, 10, 10),
            };
            _tracks = new List <Track> {
                _track
            };

            _uut = new Air_Traffic_Monitor(_airport, _occurenceSource, _display, _logger, _formatter, _console, _exception);
        }