示例#1
0
        public void Init()
        {
            IAirSpace  airSpace  = new AirSpace(0, 80000, 80000, 0, 2500, 500);
            ICondition condition = new SeparationCondition(300, 5000);

            _uut = Substitute.For <SeparationChecker>(airSpace, condition);
        }
示例#2
0
 public void AirSpace_CanInitialize_Higher_ObjectInitialized(int x, int y, int z)
 {
     _uut = new AirSpace(coordinate2: new Vector3D(x, y, z));
     Assert.That(_uut.Coordinate2.X, Is.EqualTo(x));
     Assert.That(_uut.Coordinate2.Y, Is.EqualTo(y));
     Assert.That(_uut.Coordinate2.Z, Is.EqualTo(z));
 }
        public void Setup()
        {
            _airspace = new AirSpace {
                Height_from = 500, Height_to = 20000, X = 80000, Y = 80000
            };
            _decoderMock             = Substitute.For <SWT25_Assignment2_AirTrafficMonitoring.DecodeFactory.DecodeFactory>();
            _transponderReceiverMock = Substitute.For <TransponderReceiver.ITransponderReceiver>();
            _exceptionHandler        = Substitute.For <IExceptionHandler>();
            _airport = new SWT25_Assignment2_AirTrafficMonitoring.Airport(_transponderReceiverMock, _decoderMock, _airspace, _exceptionHandler);
            _track   = new Track
            {
                CurrentAltitude           = 600,
                CurrentCompassCourse      = 200,
                CurrentHorizontalVelocity = 300,
                CurrentPositionX          = 10000,
                CurrentPositionY          = 10000,
                Tag       = "aaaaaa",
                TimeStamp = new DateTime(2020, 10, 10),
            };
            _trackEventArgs = null;
            _tracks         = new List <Track> {
                _track
            };

            _airport.TrackDataEvent += (o, args) => { _trackEventArgs = args.TrackData; };
            _received_strings        = new List <string> {
                "BTR312;2004;18204;5500;20151006213456789"
            };
        }
示例#4
0
        public void Setup()
        {
            _fakeTrackEvent = new TrackEvent();
            _eventCalled    = 0;
            _conditionList  = new List <ConditionDetecter>();

            _track1 = Substitute.For <ITrack>();
            _track1._xcoordinate = 50000;
            _track1._ycoordinate = 0;

            _track2 = Substitute.For <ITrack>();
            _track2._xcoordinate = 0;
            _track2._ycoordinate = 0;

            _track3              = Substitute.For <ITrack>();
            _track3._tag         = "Flight3";
            _track3._xcoordinate = 20000;
            _track3._ycoordinate = 20000;
            _track3._altitude    = 500;

            _track4              = Substitute.For <ITrack>();
            _track4._tag         = "Flight4";
            _track4._xcoordinate = 20000;
            _track4._ycoordinate = 22000;
            _track4._altitude    = 800;

            _track5              = Substitute.For <ITrack>();
            _track5._tag         = "Flight5";
            _track5._xcoordinate = 20000;
            _track5._ycoordinate = 22000;
            _track5._altitude    = 799;

            _track6              = Substitute.For <ITrack>();
            _track6._tag         = "Flight6";
            _track6._xcoordinate = 20000;
            _track6._ycoordinate = 26000;
            _track6._altitude    = 1000;

            _track7              = Substitute.For <ITrack>();
            _track7._tag         = "Flight7";
            _track7._xcoordinate = 80000;
            _track7._ycoordinate = 40000;
            _track7._altitude    = 500;

            _trackFilter = Substitute.For <IFilter>();

            _uut = new AirSpace(_trackFilter);

            _uut.SplitCreated += (0, args) => _conditionList = args.Condtiontracks;
            {
                _conditionList = args.Condtiontracks;
                ++_eventCalled;
            }
            ;
        }
示例#5
0
        public void IsInvalidAirSpace_ReturnTrue(int x, int y, int altitude, bool result)
        {
            var _uut   = new AirSpace();
            var _track = Substitute.For <ITrack>();

            _track.PositionX = x;
            _track.PositionY = y;
            _track.Altitude  = altitude;

            Assert.That(_uut.IsInValidAirSpace(_track), Is.EqualTo(result));
        }
示例#6
0
 public void SetUp()
 {
     _airspace = new AirSpace();
     _track    = new Track
     {
         Tag       = "AAA111",
         PositionX = 15000,
         PositionY = 30000,
         Altitude  = 850,
         Course    = 0,
         Timestamp = DateTime.Now,
         Velocity  = 0
     };
 }
示例#7
0
        public void AirSpace_Center_ReturnCenter(int x1, int y1, int x2, int y2, int z1, int z2)
        {
            // Default values
            var x = (x1 + x2) / 2;
            var y = (y1 + y2) / 2;
            var z = (z1 + z2) / 2;

            _uut = new AirSpace(new Vector3D(x1, y1, z1), new Vector3D(x2, y2, z2));
            var exp = new Vector3D(x, y, z);
            var ctr = _uut.Center();

            Assert.That(exp.X, Is.EqualTo(ctr.X));
            Assert.That(exp.Y, Is.EqualTo(ctr.Y));
            Assert.That(exp.Z, Is.EqualTo(ctr.Z));
        }
示例#8
0
        public void AirSpace_CanInitialize_Default_ObjectInitialized(
            int x1,
            int y1,
            int z1,
            int x2,
            int y2,
            int z2)
        {
            _uut = new AirSpace();
            Assert.That(_uut.Coordinate1.X, Is.EqualTo(x1));
            Assert.That(_uut.Coordinate1.Y, Is.EqualTo(y1));
            Assert.That(_uut.Coordinate1.Z, Is.EqualTo(z1));

            Assert.That(_uut.Coordinate2.X, Is.EqualTo(x2));
            Assert.That(_uut.Coordinate2.Y, Is.EqualTo(y2));
            Assert.That(_uut.Coordinate2.Z, Is.EqualTo(z2));
        }
示例#9
0
 public void SetUp()
 {
     _uut = new AirSpace();
 }
示例#10
0
        public void SetUp()
        {
            // The faked IOutpus must return a screen size to ConsoleViews ctor.
            _output = Substitute.For <IOutput>();
            _output.When(x => x.GetLargetsScreenSize(out int w, out int h)).Do(x =>
            {
                x[0] = 80;
                x[1] = 40;
            });

            _collisionDetector = new CollisionDetector();
            _trackStorage      = new TrackStorage();
            _airSpace          = new AirSpace();
            _log         = new FileLogger(_logPath);
            _consoleView = new ConsoleView(_output);
            _atm         = new AirTrafficController(_collisionDetector, _trackStorage, _airSpace, _consoleView, _log);

            // Create Tos with fake TransponderReceiver, attach ATM to subscribe on Tos.
            // _tos.Notify(_tos) will call _atm.Update(). Notify will start the system.
            _tos = new Tos(Substitute.For <ITransponderReceiver>());
            _tos.Attach(_atm);

            // Init some standard List with valid tracks, used to give to Tos before Notify() call.
            _tracks1 = new List <ITrack>
            {
                new Track
                {
                    Tag       = "AAA111",
                    PositionX = 15000,
                    PositionY = 30000,
                    Altitude  = 850,
                    Course    = 0,
                    Timestamp = DateTime.Now,
                    Velocity  = 0
                },
                new Track
                {
                    Tag       = "BBB222",
                    PositionX = 15000,
                    PositionY = 30000,
                    Altitude  = 850,
                    Course    = 0,
                    Timestamp = DateTime.Now,
                    Velocity  = 0
                },
                new Track
                {
                    Tag       = "CCC333",
                    PositionX = 15000,
                    PositionY = 30000,
                    Altitude  = 850,
                    Course    = 0,
                    Timestamp = DateTime.Now,
                    Velocity  = 0
                },
                new Track
                {
                    Tag       = "DDD444",
                    PositionX = 15000,
                    PositionY = 30000,
                    Altitude  = 850,
                    Course    = 0,
                    Timestamp = DateTime.Now,
                    Velocity  = 0
                },
                new Track
                {
                    Tag       = "EEE555",
                    PositionX = 15000,
                    PositionY = 30000,
                    Altitude  = 850,
                    Course    = 0,
                    Timestamp = DateTime.Now,
                    Velocity  = 0
                },
            };
            _tracks2 = new List <ITrack>
            {
                new Track
                {
                    Tag       = "AAA111",
                    PositionX = 15000,
                    PositionY = 80000,
                    Altitude  = 850,
                    Course    = 0,
                    Timestamp = DateTime.Now,
                    Velocity  = 0
                },
                new Track
                {
                    Tag       = "BBB222",
                    PositionX = 25000,
                    PositionY = 36000,
                    Altitude  = 850,
                    Course    = 0,
                    Timestamp = DateTime.Now,
                    Velocity  = 0
                },
                new Track
                {
                    Tag       = "CCC333",
                    PositionX = 10000,
                    PositionY = 27000,
                    Altitude  = 1900,
                    Course    = 0,
                    Timestamp = DateTime.Now,
                    Velocity  = 0
                },
                new Track
                {
                    Tag       = "DDD444",
                    PositionX = 45000,
                    PositionY = 66000,
                    Altitude  = 833,
                    Course    = 0,
                    Timestamp = DateTime.Now,
                    Velocity  = 0
                },
                new Track
                {
                    Tag       = "EEE555",
                    PositionX = 15000,
                    PositionY = 28000,
                    Altitude  = 2500,
                    Course    = 0,
                    Timestamp = DateTime.Now,
                    Velocity  = 0
                },
            };
        }
示例#11
0
 public void Init()
 {
     _uut = Substitute.For <AirSpace>(10000, 90000, 90000, 10000, 2500, 500);
 }
示例#12
0
 public void AirSpace_CanInitializeNegativeValues_Higher_WillThrow(int x, int y, int z)
 {
     Assert.Throws <ArgumentException>(() => _uut = new AirSpace(coordinate2: new Vector3D(x, y, z)));
 }
示例#13
0
 public void AirSpace_CanInitialize_Lower_WillThrow(int x, int y, int z)
 {
     Assert.Throws <ArgumentException>(() => _uut = new AirSpace(coordinate1: new Vector3D(x, y, z)));
 }