Example #1
0
 public void Setup()
 {
     _airspace = new Airspace(new Coordinates()
     {
         X = 10000, Y = 10000
     }, new Coordinates()
     {
         X = 90000, Y = 90000
     },
                              500, 20000);
     _velocityCalculator         = new VelocityCalculator();
     _degreesCalculator          = new DegreesCalculatorWithoutDecimals();
     _trackLogging               = Substitute.For <ITrackLogging>();
     _airspaceMovementMonitoring =
         new AirspaceMovementMonitoring(_airspace, _velocityCalculator, _degreesCalculator, _trackLogging);
     _driver = new AirspaceMonitoring(_airspace, _airspaceMovementMonitoring);
     _track1 = new Track()
     {
         Altitude = 12000,
         Position = new Coordinates()
         {
             X = 30000,
             Y = 40000
         },
         Tag       = "ABC987",
         TimeStamp = new DateTime(2013, 02, 20, 12, 15, 50, 840),
     };
 }
Example #2
0
 public void Setup()
 {
     _separation          = Substitute.For <ISeparation>();
     _transponderReceiver = Substitute.For <ITransponderReceiver>();
     _airspace            = new Airspace(new Coordinates()
     {
         X = 10000, Y = 10000
     }, new Coordinates()
     {
         X = 90000, Y = 90000
     },
                                         500, 20000);
     _trackLogging               = Substitute.For <ITrackLogging>();
     _degreesCalculator          = new DegreesCalculatorWithoutDecimals();
     _velocityCalculator         = new VelocityCalculator();
     _airspaceMovementMonitoring =
         new AirspaceMovementMonitoring(_airspace, _velocityCalculator, _degreesCalculator, _trackLogging);
     _airspaceMonitoring        = new AirspaceMonitoring(_airspace, _airspaceMovementMonitoring);
     _transponderDataConversion = new TransponderDataConversion(_airspaceMonitoring);
     _driver = new TransponderDataReceiver(_transponderReceiver, _transponderDataConversion, _separation, _airspace);
     _track  = new Track()
     {
         Altitude = 10000,
         Position = new Coordinates()
         {
             X = 50000,
             Y = 60000
         },
         Tag       = "XYZ123",
         TimeStamp = new DateTime(2015, 10, 06, 21, 34, 56, 789)
     };
 }
Example #3
0
        static void Main(string[] args)
        {
            var airspace = new Airspace(new Coordinates()
            {
                X = 10000, Y = 10000
            },
                                        new Coordinates()
            {
                X = 90000, Y = 90000
            }, 500, 20000);

            var trackLogging               = new TrackConsoleLogging();
            var velocityCalculator         = new VelocityCalculator();
            var degreesCalculator          = new DegreesCalculatorWithoutDecimals();
            var airspaceMovementMonitoring = new AirspaceMovementMonitoring(airspace, velocityCalculator, degreesCalculator, trackLogging);

            var separationConsoleLogger = new SeparationConsoleLogger();
            var separationXmlLogger     = new SeparationXmlLogging();

            var separation                = new Separation(separationXmlLogger, separationConsoleLogger);
            var airspaceMonitoring        = new AirspaceMonitoring(airspace, airspaceMovementMonitoring);
            var transponderDataConversion = new TransponderDataConversion(airspaceMonitoring);
            var transponderDataReceiver   = new TransponderDataReceiver(
                TransponderReceiverFactory.CreateTransponderDataReceiver(), transponderDataConversion, separation, airspace);

            transponderDataReceiver.StartReceivingData();
            Console.ReadLine();
        }
Example #4
0
        public void Setup()
        {
            _uut = new VelocityCalculator();

            _track1 = new Track()
            {
                Altitude = 12000,
                Position = new Coordinates()
                {
                    X = 30000,
                    Y = 40000
                },
                Tag       = "ABC987",
                TimeStamp = new DateTime(2013, 02, 20, 12, 15, 50, 840),
            };
            _track2 = new Track()
            {
                Altitude = 8000,
                Position = new Coordinates()
                {
                    X = 10000,
                    Y = 20000
                },
                Tag       = "ABC987",
                TimeStamp = new DateTime(2013, 02, 20, 12, 16, 55, 555),
            };
            _tracks = new List <Track>();
            _tracks.Add(_track1);
            _tracks.Add(_track2);
        }
Example #5
0
        public void Setup()
        {
            //Arrange
            _output = Substitute.For <IOutput>();

            _filePath = @"...\...\...\";
            FileStream   output     = new FileStream(_filePath + "SeperationLogFile.txt", FileMode.Create, FileAccess.Write);
            StreamWriter fileWriter = new StreamWriter(output);

            fileWriter.Write("");
            fileWriter.Close();

            _transponderReceiver = Substitute.For <ITransponderReceiver>();
            _trackTransmitter    = new TrackTransmitter();
            _dateTimeBuilder     = new DateTimeBuilder();

            _trackObjectifier = new TrackObjectifier(_dateTimeBuilder);

            _trackReciever = new TrackReciever(_transponderReceiver,
                                               _trackObjectifier, _trackTransmitter);
            _output                 = Substitute.For <IOutput>();
            _tracksManager          = new TracksManager();
            _courseCalculator       = new CourseCalculator();
            _velocityCalculator     = new VelocityCalculator();
            _seperationEventChecker = new SeperationEventChecker();

            _airspace = new Airspace()
            {
                MaxAltitude = 20000, MinAltitude = 500,
                Northeast   = new Corner()
                {
                    X = 90000, Y = 90000
                },
                Southwest = new Corner()
                {
                    X = 10000, Y = 10000
                }
            };

            _airspaceChecker = new AirspaceChecker(_airspace);
            _tagsManager     = new TagsManager(_airspaceChecker);
            _trackWarehouse  = new TrackWarehouse(_tagsManager, _courseCalculator,
                                                  _velocityCalculator, _tracksManager, _seperationEventChecker);
            _atmController = new AtmController(_trackTransmitter, _output, _trackWarehouse);

            _uut = new SeperationEventLogger(_output, _seperationEventChecker);

            _list = new List <string>
            {
                "ATR423;11000;11000;14000;20151006213456000",
                "ATR424;11000;11000;14000;20151006213456000"
            };

            _trackTransmitter.TrackReady += (o, args) => { _recievedTracks = args.TrackList; };

            //Act
            _transponderReceiver.TransponderDataReady +=
                Raise.EventWith(new RawTransponderDataEventArgs(_list));
        }
Example #6
0
        public void Setup()
        {
            _separationConsoleLogger = Substitute.For <ISeparationConsoleLogger>();
            _separationXmlLogging    = Substitute.For <ISeparationXmlLogging>();
            _transponderReceiver     = Substitute.For <ITransponderReceiver>();
            _airspace = new Airspace(new Coordinates()
            {
                X = 10000, Y = 10000
            }, new Coordinates()
            {
                X = 90000, Y = 90000
            },
                                     500, 20000);
            _trackLogging               = Substitute.For <ITrackLogging>();
            _degreesCalculator          = new DegreesCalculatorWithoutDecimals();
            _velocityCalculator         = new VelocityCalculator();
            _airspaceMovementMonitoring =
                new AirspaceMovementMonitoring(_airspace, _velocityCalculator, _degreesCalculator, _trackLogging);
            _airspaceMonitoring        = new AirspaceMonitoring(_airspace, _airspaceMovementMonitoring);
            _transponderDataConversion = new TransponderDataConversion(_airspaceMonitoring);
            _separation       = new Separation(_separationXmlLogging, _separationConsoleLogger);
            _driver           = new TransponderDataReceiver(_transponderReceiver, _transponderDataConversion, _separation, _airspace);
            _planesInAirspace = new Dictionary <string, List <Track> >();

            _track1 = new Track()
            {
                Altitude = 10000,
                Position = new Coordinates()
                {
                    X = 12000,
                    Y = 12000
                },
                Tag       = "ABC987",
                TimeStamp = new DateTime(2013, 02, 20, 12, 15, 50, 840),
            };
            _track3 = new Track()
            {
                Altitude = 10000,
                Position = new Coordinates()
                {
                    X = 12000,
                    Y = 12000
                },
                Tag       = "ABC986",
                TimeStamp = new DateTime(2013, 02, 20, 12, 15, 50, 840),
            };


            _tracks1 = new List <Track>();
            _tracks1.Add(_track1);

            _airspace.PlanesInAirspace.Add("ABC987", _tracks1);
            _tracks2 = new List <Track>();
            _tracks2.Add(_track3);

            _airspace.PlanesInAirspace.Add("ABC986", _tracks2);
        }
Example #7
0
        /// <summary>
        /// When releasing an active interactable, calculate the releasing point in similar
        /// fashion to  InteractableSelected
        /// </summary>
        /// <param name="interactable">The released interactable</param>
        protected override void InteractableUnselected(HandGrabInteractable interactable)
        {
            base.InteractableUnselected(interactable);

            _movement = null;

            ReleaseVelocityInformation throwVelocity = VelocityCalculator != null ?
                VelocityCalculator.CalculateThrowVelocity(interactable.transform) :
                new ReleaseVelocityInformation(Vector3.zero, Vector3.zero, Vector3.zero);
            interactable.ApplyVelocities(throwVelocity.LinearVelocity, throwVelocity.AngularVelocity);
        }
Example #8
0
        public void SetUp()
        {
            _airspace = new Airspace()
            {
                MaxAltitude = 20000, MinAltitude = 500, Northeast = new Corner()
                {
                    X = 90000, Y = 90000
                }, Southwest = new Corner()
                {
                    X = 10000, Y = 10000
                }
            };
            FileStream    fs         = new FileStream(@"...\...\...\Airspace.xml", FileMode.Create);
            XmlSerializer serializer = new XmlSerializer(typeof(Airspace));

            serializer.Serialize(fs, _airspace);
            fs.Close();

            _transponderReceiver = Substitute.For <ITransponderReceiver>();
            _trackTransmitter    = new TrackTransmitter();
            _dateTimeBuilder     = new DateTimeBuilder();

            _trackObjectifier = new TrackObjectifier(_dateTimeBuilder);

            _trackReciever = new TrackReciever(_transponderReceiver,
                                               _trackObjectifier, _trackTransmitter);
            _output                 = Substitute.For <IOutput>();
            _tracksManager          = new TracksManager();
            _courseCalculator       = new CourseCalculator();
            _velocityCalculator     = new VelocityCalculator();
            _seperationEventChecker = new SeperationEventChecker();
            _seperationEventLogger  = new SeperationEventLogger(_output, _seperationEventChecker);
            _uut = new AirspaceFileReader();

            _airspaceChecker = new AirspaceChecker(_uut.Read());
            _tagsManager     = new TagsManager(_airspaceChecker);
            _trackWarehouse  = new TrackWarehouse(_tagsManager, _courseCalculator,
                                                  _velocityCalculator, _tracksManager, _seperationEventChecker);
            _atmController = new AtmController(_trackTransmitter, _output, _trackWarehouse);

            _list = new List <string>
            {
                "ATR423;11000;11000;14000;20151006213456000"
            };

            _trackTransmitter.TrackReady += (o, args) => { _recievedTracks = args.TrackList; };

            //Act
            _transponderReceiver.TransponderDataReady +=
                Raise.EventWith(new RawTransponderDataEventArgs(_list));
        }
        static void Main(string[] args)
        {
            var airspace = new Airspace();

            try
            {
                AirspaceFileReader airspaceFileReader = new AirspaceFileReader();

                airspace = airspaceFileReader.Read();
            }
            catch (Exception e)
            {
                Console.WriteLine("Invalid Airspace" + e.ToString());
                Console.ReadKey();
            }

            var transponderReceiver = TransponderReceiverFactory.CreateTransponderDataReceiver();

            var dateTimeBuilder  = new DateTimeBuilder();
            var trackObjectifier = new TrackObjectifier(dateTimeBuilder);

            var trackTransmitter = new TrackTransmitter();

            var trackReciever = new TrackReciever(transponderReceiver, trackObjectifier, trackTransmitter);

            var airspaceChecker = new AirspaceChecker(airspace);

            var seperationEventChecker = new SeperationEventChecker();
            var output = new Output();
            var seperationEventLogger = new SeperationEventLogger(output, seperationEventChecker);

            var courseCalculator   = new CourseCalculator();
            var velocityCalculator = new VelocityCalculator();
            var tracksManager      = new TracksManager();
            var tagsManager        = new TagsManager(airspaceChecker);


            var trackWarehouse = new TrackWarehouse(tagsManager, courseCalculator, velocityCalculator,
                                                    tracksManager, seperationEventChecker);

            var atmController = new AtmController(trackTransmitter, output, trackWarehouse);

            Console.ReadKey();
        }
        public void Setup()
        {
            _airspace = new Airspace(new Coordinates()
            {
                X = 10000, Y = 10000
            }, new Coordinates()
            {
                X = 90000, Y = 90000
            },
                                     500, 20000);
            _degreesCalculator  = Substitute.For <IDegreesCalculator>();
            _trackLogging       = Substitute.For <ITrackLogging>();
            _velocityCalculator = new VelocityCalculator();
            _driver             = new AirspaceMovementMonitoring(_airspace, _velocityCalculator, _degreesCalculator, _trackLogging);

            _track1 = new Track()
            {
                Altitude = 12000,
                Position = new Coordinates()
                {
                    X = 30000,
                    Y = 40000
                },
                Tag       = "ABC987",
                TimeStamp = new DateTime(2013, 02, 20, 12, 15, 50, 840),
            };
            _airspace.PlanesInAirspace.Add(_track1.Tag, new List <Track>()
            {
                _track1
            });

            _track2 = new Track()
            {
                Altitude = 8000,
                Position = new Coordinates()
                {
                    X = 10000,
                    Y = 20000
                },
                Tag       = "ABC987",
                TimeStamp = new DateTime(2013, 02, 20, 12, 16, 55, 555),
            };
        }
Example #11
0
        public void Setup()
        {
            _airspace = new Airspace(new Coordinates()
            {
                X = 10000, Y = 10000
            }, new Coordinates()
            {
                X = 90000, Y = 90000
            }, 500, 20000);
            _velocityCalculator = new VelocityCalculator();
            _degreesCalculator  = new DegreesCalculatorWithoutDecimals();
            _trackLogging       = Substitute.For <ITrackLogging>();
            _driver             = new AirspaceMovementMonitoring(_airspace, _velocityCalculator, _degreesCalculator, _trackLogging);
            _expectedCourse     = 68;

            _track1 = new Track
            {
                Position = new Coordinates()
                {
                    X = 30000, Y = 40000
                },
                Altitude  = 10000,
                Tag       = "AAA000",
                TimeStamp = new DateTime(2014, 08, 09, 15, 45, 20, 800)
            };

            _track2 = new Track
            {
                Position = new Coordinates()
                {
                    X = 33500, Y = 48500
                },
                Altitude  = 9000,
                Tag       = "AAA000",
                TimeStamp = new DateTime(2014, 08, 09, 16, 05, 45, 250)
            };

            _airspace.PlanesInAirspace.Add("AAA000", new List <Track>()
            {
                _track1
            });
        }
Example #12
0
        public void SetUp()
        {
            _transponderReceiver = Substitute.For <ITransponderReceiver>();
            _trackTransmitter    = new TrackTransmitter();
            _dateTimeBuilder     = new DateTimeBuilder();

            _trackObjectifier = new TrackObjectifier(_dateTimeBuilder);

            _trackReciever = new TrackReciever(_transponderReceiver,
                                               _trackObjectifier, _trackTransmitter);
            _output             = Substitute.For <IOutput>();
            _tracksManager      = new TracksManager();
            _airspaceChecker    = Substitute.For <IAirspaceChecker>();
            _tagsManager        = new TagsManager(_airspaceChecker);
            _courseCalculator   = new CourseCalculator();
            _velocityCalculator = new VelocityCalculator();
            _uut = new SeperationEventChecker();
            _seperationEventLogger = Substitute.For <ISeperationEventLogger>();

            _trackWarehouse = new TrackWarehouse(_tagsManager, _courseCalculator,
                                                 _velocityCalculator, _tracksManager, _uut);
            _atmController = new AtmController(_trackTransmitter, _output, _trackWarehouse);



            _list = new List <string>
            {
                "ATR423;10000;10000;14000;20151006213456000",
                "ATR424;10000;10100;14000;20151006213456000"
            };


            _trackTransmitter.TrackReady += (o, args) => { _recievedTracks = args.TrackList; };
            _uut.SeperationEvent         += (o, args) => { _checkedTracks = args.Tracks; };

            _airspaceChecker.Check(new Track()).ReturnsForAnyArgs(true);

            // Act
            _transponderReceiver.TransponderDataReady +=
                Raise.EventWith(new RawTransponderDataEventArgs(_list));
        }
        static void Main(string[] args)
        {
            var AirspaceConfiguration = XMLAirspaceConfiguration.LoadAirspace(@"../../../AirspaceConfiguration.xml");

            Airspace airspace = new Airspace();

            airspace.HighestAltitude      = AirspaceConfiguration.HighestAltitude;
            airspace.LowestAltitude       = AirspaceConfiguration.LowestAltitude;
            airspace.NorthEastXCoordinate = AirspaceConfiguration.NorthEastXCoordinate;
            airspace.NorthEastYCoordinate = AirspaceConfiguration.NorthEastYCoordinate;
            airspace.SouthWestXCoordinate = AirspaceConfiguration.SouthWestXCoordinate;
            airspace.SouthWestYCoordinate = AirspaceConfiguration.SouthWestYCoordinate;

            ITransponderReceiver        transponderReceiver        = TransponderReceiverFactory.CreateTransponderDataReceiver();
            ITrackFactory               trackFactory               = new TrackFactory();
            ITransponderDataReciever    transponderDataReciever    = new TransponderDataReceiver(transponderReceiver, trackFactory);
            IAirspaceTrackChecker       airspaceTrackChecker       = new AirspaceTrackChecker(airspace);
            IAirspaceController         airspaceController         = new AirspaceController.AirspaceController(transponderDataReciever, airspaceTrackChecker);
            ITrackRemover               trackRemover               = new TrackRemover();
            ITrackManagement            trackManagement            = new TrackManagement();
            IFlightManagement           flightManagement           = new FlightManagement.FlightManagement(airspaceController, trackRemover, trackManagement);
            ICompassCalculator          compassCalculator          = new CompassCalculator();
            ICourseAnalyzer             courseAnalyzer             = new CourseAnalyzer(compassCalculator);
            IDistanceCalculator         distanceCalculator         = new DistanceCalculator();
            ITimeSpanCalculator         timeSpanCalculator         = new TimeSpanCalculator();
            IVelocityCalculator         velocityCalculator         = new VelocityCalculator(timeSpanCalculator, distanceCalculator);
            IVelocityAnalyzer           velocityAnalyzer           = new VelocityAnalyzer(velocityCalculator);
            IFlightAnalyzer             flightAnalyzer             = new FlightAnalyzer.FlightAnalyzer(flightManagement, courseAnalyzer, velocityAnalyzer);
            IAltitudeDistanceCalculator altitudeDistanceCalculator = new AltitudeDistanceCalculator();
            ICollisionAnalyzer          collisionAnalyzer          = new CollisionAnalyzer(distanceCalculator, altitudeDistanceCalculator);
            ISeparationStringBuilder    separationStringBuilder    = new SeparationStringBuilder();
            ICollisionController        collisionController        = new CollisionController.CollisionController(flightManagement, collisionAnalyzer, separationStringBuilder);
            IDisplay               display          = new ConsoleDisplay(flightAnalyzer, collisionController);
            IFileWriter            fileWriter       = new FileWriter();
            var                    currentDirectory = Directory.GetCurrentDirectory();
            var                    path             = Path.Combine(currentDirectory, "SeparationLog.txt");
            ISeparationEventLogger logger           = new CollisionController.Logger(collisionController, path, fileWriter);

            Console.ReadLine();
        }
Example #14
0
 void Awake()
 {
     meshHandRenderMgr     = this.GetComponent <MeshHandRenderManager>();
     velocityCalculator    = this.GetComponent <VelocityCalculator>();
     handVisibilityTracker = this.GetComponent <HandVisibilityTracker>();
 }
 public void SetUp()
 {
     _fakeTimeSpanCalculator = Substitute.For <ITimeSpanCalculator>();
     _fakeDistanceCalculator = Substitute.For <IDistanceCalculator>();
     _uut = new VelocityCalculator(_fakeTimeSpanCalculator, _fakeDistanceCalculator);
 }
Example #16
0
 // Use this for initialization
 void Start()
 {
     vel = GetComponent <VelocityCalculator>();
     a   = GetComponent <AudioSource>();
 }
Example #17
0
 public void SetUp()
 {
     _uut = new VelocityCalculator();
 }
Example #18
0
 void Awake()
 {
     velocityCalculator    = this.GetComponent <VelocityCalculator>();
     handVisibilityTracker = this.GetComponent <HandVisibilityTracker>();
 }