示例#1
0
        public void Setup()
        {
            _listHandler   = Substitute.For <IListHandler>();
            _monitoredArea = new MonitoredArea(90000, 10000, 20000, 500);

            _transponderReceiver = Substitute.For <ITransponderReceiver>();
            _flightExtractor     = new FlightExtractor();
            _parseTrackInfo      = new ParseTrackInfo();
            _timestampFormatter  = new TimestampFormatter();

            _trackObjectifier = new TrackObjectifier(_transponderReceiver, _monitoredArea, _parseTrackInfo, _flightExtractor, _timestampFormatter);

            ATM = new ATMSystem(_trackObjectifier, _listHandler);

            _argList = new List <string>
            {
                "ATR423;39045;12932;14000;20151006213456789",
                "DSD323;40000;12930;15000;20151006213456789"
            };

            _args = new RawTransponderDataEventArgs(_argList);

            _trackObjectifier.TrackListReady += (sender, updatedArgs) =>
            {
                _trackList = updatedArgs.TrackList;
            };
        }
示例#2
0
        public static void Main(string[] args)
        {
            ConcreteATMFactory ATMfactory = new ConcreteATMFactory();
            ATMSystem          atm        = new ATMSystem(ATMfactory, TransponderReceiverFactory.CreateTransponderDataReceiver());



            //var receiver = TransponderReceiverFactory.CreateTransponderDataReceiver();

            //var airSpace = new AirSpace(10000, 90000, 90000, 10000, 20000, 500);
            //var separationCondition = new SeparationCondition(300, 5000);

            //var consolePrinter = new ConsolePrinter();
            //var logger = new Logger();
            //var trackCalc = new TrackCalculator();
            //var spChecker = new SeparationChecker(airSpace, separationCondition);
            //ATMSystem atm = new ATM.Classes.ATMSystem(receiver, airSpace, separationCondition, consolePrinter, logger, trackCalc, spChecker);



            while (true)
            {
                Thread.Sleep(1000);
            }
        }
示例#3
0
        public void Setup()
        {
            _trackObjects1 = new List <TrackObject>();
            _trackObjects  = new List <TrackObject>();
            _trackObjects2 = new List <TrackObject>();
            list1          = new List <string> {
                "MAR123", "50000", "50000", "1000", "20151006213456789"
            };
            trackObject           = new TrackObject(list1);
            _receivedTrackObjects = new List <TrackObject>();
            _trackObjects.Add(trackObject);
            _transponderReceiver      = Substitute.For <ITransponderReceiver>();
            _transponderParsing       = Substitute.For <ITransponderParsing>();
            _trackingValidation       = Substitute.For <ITrackingValidation>();
            _dateFormatter            = Substitute.For <IDateFormatter>();
            _trackUpdater             = Substitute.For <ITrackUpdater>();
            _velocityCourseCalculator = Substitute.For <IVelocityCourseCalculator>();
            _separationChecker        = Substitute.For <ISeparationChecker>();
            _print       = Substitute.For <IPrint>();
            _objectifier = Substitute.For <ITrackListEvent>();
            _uut         = new ATMSystem(_objectifier, _trackUpdater, _velocityCourseCalculator, _separationChecker, _print);
            _trackObjectDataEventArgs = new TrackListEventArgs(_trackObjects);

            _objectifier.TrackListReady += (sender, TrackListEventArgs) =>
            {
                _receivedTrackObjects = TrackListEventArgs.TrackObjects;
            };
        }
示例#4
0
        public void Setup()
        {
            _trackOne = Substitute.For<ITrackObject>();

            _listHandler = Substitute.For<IListHandler>();
            _objectifier = Substitute.For<ITrackList>();
            
            _uut = new ATMSystem(_objectifier, _listHandler);

            _trackOne.Tag.Returns("HDJ232");
            _trackOne.Position.XCoor.Returns(45201);
            _trackOne.Position.YCoor.Returns(78452);
            _trackOne.Position.Altitude.Returns(4500);
            _trackOne.Timestamp.Returns("April 23rd, 2018, at 23:55:32 and 339 milliseconds");
            _trackOne.Velocity.Returns(150);
            _trackOne.Course.Returns(90);
            _trackOne.ToString()
                .Returns
                ("Tag:\t\t" + "HDJ232" + "\n" +
                 "X coordinate:\t" + 45201 + " meters \n" +
                 "Y coordinate:\t" + 78452 + " meters\n" +
                 "Altitide:\t" + 4500 + " meters\n" +
                 "Timestamp:\t" + "April 23rd, 2018, at 23:55:32 and 339 milliseconds" + "\n" +
                 "Velocity:\t" + 150 + " m/s\n" +
                 "Course:\t\t" + 90 + " degrees\n");

            _argList = new List<ITrackObject> { _trackOne };

            _args = new TrackListUpdatedArgs(_argList);
        }
示例#5
0
        static void Main(string[] args)
        {
            Receiver = TransponderReceiverFactory.CreateTransponderDataReceiver();
            ITrackList objectifier = new TrackObjectifier(
                Receiver,
                MonitoredArea,
                Parser,
                Handler,
                Formatter);

            ATMSystem system = new ATMSystem(objectifier, TrackListHandler);

            Console.ReadKey();
        }
示例#6
0
        public void Setup()
        {
            list1 = new List <string> {
                "MAR123", "50000", "50000", "1000", "20151006213456000"
            };
            list2 = new List <string> {
                "MAR123", "49900", "49900", "1000", "20151006213457000"
            };
            trackObject1 = new TrackObject(list1);
            trackObject2 = new TrackObject(list2);
            tList1       = new List <TrackObject> {
                trackObject1
            };
            tList2 = new List <TrackObject> {
                trackObject2
            };
            returnList            = new List <TrackObject>();
            _receivedTrackObjects = new List <TrackObject>();
            trackObject           = new TrackObject(list1);
            _trackObjects         = new List <TrackObject>();
            _trackObjects.Add(trackObject);
            distance                  = new Distance();
            _transponderReceiver      = Substitute.For <ITransponderReceiver>();
            _transponderParsing       = new TransponderParsing();
            _trackingValidation       = new TrackingValidation();
            _dateFormatter            = new DateFormatter();
            _velocityCourseCalculator = new VelocityCourseCalculater(distance);
            _trackUpdater             = new TrackUpdater(_velocityCourseCalculator);
            _separationChecker        = new SeparationChecker(distance);
            _print       = Substitute.For <IPrint>();
            _objectifier = Substitute.For <ITrackListEvent>();
            _uut         = new ATMSystem(_objectifier, _trackUpdater, _velocityCourseCalculator, _separationChecker, _print);
            _trackObjectDataEventArgs = new TrackListEventArgs(_trackObjects);

            _objectifier.TrackListReady += (sender, TrackListEventArgs) =>
            {
                _receivedTrackObjects = TrackListEventArgs.TrackObjects;
            };
        }
示例#7
0
        public void InstantiateFactory()
        {
            var uut = new ATMSystem(new ConcreteATMFactory(), TransponderReceiverFactory.CreateTransponderDataReceiver());

            Assert.NotNull(uut);
        }
示例#8
0
 public void Setup()
 {
     _fakeTransponderReceiver = Substitute.For <ITransponderReceiver>();
     _uut = Substitute.For <ATMSystem>(new ATMTestFactory(), _fakeTransponderReceiver);
 }