コード例 #1
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)
     };
 }
コード例 #2
0
ファイル: Program.cs プロジェクト: sunero4/AirTrafficMonitor
        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();
        }
コード例 #3
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);
        }
コード例 #4
0
 public void Setup()
 {
     _transponderReceiverFake       = Substitute.For <ITransponderReceiver>();
     _transponderDataConversionFake = Substitute.For <ITransponderDataConversion>();
     _separationFake = Substitute.For <ISeparation>();
     _airspace       = new Airspace(new Coordinates()
     {
         X = 10000, Y = 10000
     }, new Coordinates()
     {
         X = 25000, Y = 25000
     }, 500, 10000);
     _uut = new TransponderDataReceiver(_transponderReceiverFake, _transponderDataConversionFake, _separationFake, _airspace);
 }
コード例 #5
0
        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();
        }
コード例 #6
0
 public void SetUp()
 {
     _fakeTransponderReceiver = Substitute.For <ITransponderReceiver>();
     _fakeTrackFactory        = Substitute.For <ITrackFactory>();
     _uut = new TransponderDataReceiver(_fakeTransponderReceiver, _fakeTrackFactory);
 }