static void Main(string[] args)
        {
            //Dependencies for Airport
            DecodeFactory.DecodeFactory trackFactory = new TrackFactory();
            AirSpace airspace = new AirSpace
            {
                Height_from = 500,
                Height_to   = 20000,
                X           = 80000,
                Y           = 80000
            };
            IExceptionHandler exceptionHandler = new NullReferenceExceptionHandler();

            var receiver = TransponderReceiverFactory.CreateTransponderDataReceiver();

            var Airport = new Airport(receiver, trackFactory, airspace, exceptionHandler);

            //Dependencies for ATM
            IOccurenceDetector Detector  = new TrackOccurrenceDetector();
            IDisplay           Display   = new MonitorConsole();
            IOccurrenceLogger  Logger    = new OccurrenceLogger();
            IFormat            Formatter = new TrackFormater();
            IExceptionHandler  Exception = new NullReferenceExceptionHandler();
            IConsoleClear      Consoler  = new ConsoleClear();

            Air_Traffic_Monitor ATM = new Air_Traffic_Monitor(Airport, Detector, Display, Logger, Formatter, Consoler, Exception);


            #region DecodeFactory Test

            /*
             * var Aircrafts = new List<string>
             * {
             *  "BTR312;2004;18204;5500;20151006213456789",
             *  "BTR312;3200;18602;5500;20151006213456789",
             *  "BTR312;4200;18802;5500;20151006213456789"
             * };
             *
             * var factory = new TrackFactory();
             * var tracks = factory.CreateTracks(Aircrafts);
             *
             * foreach(var track in tracks)
             * {
             *  Console.WriteLine($"Tag: {track.Tag}");
             *  Console.WriteLine($"Current altitude: x:{track.CurrentPositionX.ToString()}, y:{track.CurrentPositionY.ToString()}");
             *  Console.WriteLine($"Current altitude (Meters): {track.CurrentAltitude.ToString()}");
             *  Console.WriteLine($"Current Horizontal Velocity (m/s): {track.CurrentHorizontalVelocity.ToString()}");
             *  Console.WriteLine($"Current Compass Course: {track.CurrentCompassCourse}");
             *  Console.WriteLine( $"Timestamp: {track.TimeStamp.ToString()}\n");
             *
             * }
             */
            #endregion


            Console.ReadLine();
        }
        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);
        }
Example #3
0
        public void Setup()
        {
            _occurenceSource = Substitute.For <IOccurenceDetector>();

            _display   = Substitute.For <IDisplay>();
            _logger    = Substitute.For <IOccurrenceLogger>();
            _formatter = Substitute.For <IFormat>();

            _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;

            _uut = new Commercial_ATM(_airport, _occurenceSource, _display, _logger, _formatter);
        }