Beispiel #1
0
        public void SetUp()
        {
            //fakes init
            _fakeReceiver = Substitute.For <ITransponderReceiver>();

            //Real init
            _realUtility  = new Utility();
            _realDecoder  = new Decoder(_fakeReceiver, _realUtility);
            _realAnalyser = new Analyser(_realUtility, _realDecoder);


            _realAnalyser.SeparationEvent += (o, args) =>
            {
                ++_nSeparationEventsRaised;
            };

            _realAnalyser.AnalysedDataReadyEvent += (o, args) =>
            {
                ++_nAnalysedDataReadyEventsRaised;
            };

            _realAnalyser.TrackEnteredAirSpaceEvent += (o, args) =>
            {
                ++_nTrackEnteredAirspaceEventsRaised;
            };

            _realAnalyser.TrackLeftAirSpaceEvent += (o, args) =>
            {
                ++_nTrackLeftAirspaceEventsRaised;
            };
        }
Beispiel #2
0
        public void Setup()
        {
            // Instantiating dependencies to fakes
            _collisionDetector   = Substitute.For <ICollisionDetector>();
            _track               = Substitute.For <ITrack>();
            _writer              = Substitute.For <IWriter>();
            _transponderReceiver = Substitute.For <ITransponderReceiver>();

            OnTracksReady = false;
            TrackEntered  = false;
            TrackLeaving  = false;

            // Injecting fakes into class Decoder (UUT)
            _uut = new Decoder
            {
                Writer              = _writer,
                CollisionDetector   = _collisionDetector,
                Track               = _track,
                TransponderReceiver = _transponderReceiver
            };

            _uut.OnTracksReady += (List <ITrack> tracks) => { OnTracksReady = true; };
            _uut.TrackEntered  += (ITrack track) => { TrackEntered = true; };
            _uut.TrackLeaving  += (ITrack track) => { TrackLeaving = true; };
        }
        public void Setup()
        {
            //Set up S's
            fakeConsoleOutput = Substitute.For <IConsoleOutput>();
            fakeFileOutput    = Substitute.For <IFileOutput>();

            //Set up X's
            airspace   = new Airspace(10000, 90000, 10000, 90000, 500, 20000);
            trackData1 = new TrackData("ABC123", 30000, 30000, 3000, "20181224200050123", 100, 45, fakeConsoleOutput);
            trackData2 = new TrackData("DEF123", 30001, 30001, 3001, "20181224200050123", 100, 45, fakeConsoleOutput);

            trackData3 = new TrackData("ABC123", 30000, 30000, 3000, "20181224200050123", 100, 45, fakeConsoleOutput);
            trackData4 = new TrackData("DEF123", 50000, 50000, 5000, "20181224200050123", 100, 45, fakeConsoleOutput);

            //Fake transponderReceiver
            fakeTransponderReceiver = Substitute.For <ITransponderReceiver>();

            //Create new ATM.TransponderReceiver for simulating inputs from the TransponderReceiver from the dll.
            transponderReceiver = new TransponderReceiver(fakeTransponderReceiver, fakeConsoleOutput);

            //Set up T's
            ATM = new ATMclass(fakeConsoleOutput, fakeFileOutput, airspace, fakeTransponderReceiver);

            //Attach ATM, so that updates to the transponderReceiver updates data in the ATM
            transponderReceiver.Attach(ATM);
        }
Beispiel #4
0
 public void SetUp()
 {
     _fakeTransponderReceiver = Substitute.For <ITransponderReceiver>();
     _uut   = new Converter(_fakeTransponderReceiver);
     _event = null;
     _uut.ConvertDataEvent += (o, args) => { _event = args; };
 }
Beispiel #5
0
 public void Setup()
 {
     _fakeTransReceiver   = Substitute.For <ITransponderReceiver>();
     _fakeTransParser     = Substitute.For <ITransponderParser>();
     _fakeAirSpaceMonitor = Substitute.For <IAirSpaceMonitor>();
     _uut = new TransponderMonitor(_fakeTransReceiver, _fakeTransParser, _fakeAirSpaceMonitor);
 }
Beispiel #6
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)
     };
 }
 public void Setup()
 {
     _fakeTransReceiver = Substitute.For<ITransponderReceiver>();
     _fakeTransParser = Substitute.For<ITransponderParser>();
     _fakeAirSpaceMonitor = Substitute.For<IAirSpaceMonitor>();
     _uut = new TransponderMonitor(_fakeTransReceiver, _fakeTransParser, _fakeAirSpaceMonitor);
 }
 public void Setup()
 {
     _transponderReceiver = Substitute.For <ITransponderReceiver>();
     _argList             = new List <string> {
         "ATR423;39045;12932;14000;20151006213456789"
     };
 }
Beispiel #9
0
 public void Setup()
 {
     // Used in ReceiveCorrectDataFromTransponderReceiverDll:
     _fakeData = Substitute.For <ITransponderReceiver>();
     // Used in SpawnTrackFromTrackFactory:
     _uut = new TrackFactory(_fakeData);
 }
Beispiel #10
0
 public ConvertFilter(ITransponderReceiver receiver, ICompassCourse compassCourse, IVelocity velocity)
 {
     this._receiver      = receiver;
     this._compassCourse = compassCourse;
     this._volocity      = velocity;
     this._receiver.TransponderDataReady += ReceiverOnTransponderDataReady;
 }
 public void SetUp()
 {
     // Make a fake Transponder Data Receiver
     _fakeTransponderReceiver = Substitute.For <ITransponderReceiver>();
     // Inject the fake TDR
     _uut = new Formatter(_fakeTransponderReceiver);
 }
Beispiel #12
0
        public Radartower(ITransponderReceiver transponderReceiver)
        {
            _transponderReceiver = transponderReceiver;
            Tracks = new List<ITrack>();

            transponderReceiver.TransponderDataReady += OnTransponderDataReady; // subscribe to event
        }
Beispiel #13
0
 public void SetUp()
 {
     _transponderReceiver = Substitute.For <ITransponderReceiver>();
     _uut    = new DataConverter(_transponderReceiver);
     _input  = "UAR043;75823;25472;9000;20181004154857789";
     _output = _uut.ConvertTransponderString(_input);
 }
        public void Setup()
        {
            Setup_Factory();

            _fakeTransponderReceiver = Substitute.For <ITransponderReceiver>();
            uut = new AirTrafficMonitor(mockFactory, _fakeTransponderReceiver);
        }
Beispiel #15
0
        public void SetUp()
        {
            _writer                  = Substitute.For <IWriter>();
            _calculateVelocity       = new CalculateVelocity();
            _calculateCourse         = new CalculateCourse();
            _transponderReceiver     = Substitute.For <ITransponderReceiver>();
            _logWriterToFile         = Substitute.For <ILogWriter>();
            _logWriterToConsole      = Substitute.For <ILogWriter>();
            _convertStringToDateTime = new ConvertStringToDateTime();
            _eventController         = new EventController(_logWriterToFile, _logWriterToConsole);
            _seperationEvent         = new SeperationEvent();
            _seperationTracks        = new SeperationTracks(_seperationEvent, _eventController);
            _sortingTracks           = new SortingTracks(_calculateVelocity, _calculateCourse, _writer, _seperationTracks);
            _filterAirspace          = new FilterAirspace(_sortingTracks);
            _convertTrackData        = new ConvertTrackData(_transponderReceiver, _convertStringToDateTime, _filterAirspace);

            var track = "BIJ515;12345;54321;17891;20180409153742853";

            _myList = new List <string> {
                track
            };

            var eventArgs = new RawTransponderDataEventArgs(_myList);

            _transponderReceiver.TransponderDataReady += Raise.EventWith(eventArgs);
        }
Beispiel #16
0
        static void Main(string[] args)
        {
            ITransponderReceiver receiver = TransponderReceiverFactory.CreateTransponderDataReceiver();

            Decoder       d1  = new Decoder(receiver);
            AMSController ams = new AMSController(d1, new Airspace(

                                                      South: 10000,
                                                      West: 10000,
                                                      North: 90000,
                                                      East: 90000,
                                                      LowerAltitude: 500,
                                                      UpperAltitude: 20000
                                                      ));

            CollisionAvoidanceSystem cas = new CollisionAvoidanceSystem(ams, 20000, 10000);
            Logger fl     = new Logger(cas);
            Output output = new Output();

            ConsoleOutput c = new ConsoleOutput(ams, cas, output);

            while (true)
            {
                Thread.Sleep(1000);
            }
        }
Beispiel #17
0
        public Relay(ITransponderReceiver tr)
        {
            Tr = tr;
            Tr.TransponderDataReady += TransponderDataReadyEventHandler;

            _tracks = new List <Track>();
        }
Beispiel #18
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;
            };
        }
        public void Setup()
        {
            // Drivers/included
            _receiver       = Substitute.For <ITransponderReceiver>();
            _trackConverter = new TrackConverter(_receiver);
            _sorter         = new Sorter(_trackConverter);
            _checker        = new CheckForSeparationEvent();


            // System under test
            _logger         = new LogSeparationEvent(_checker);
            _warningCreator = new CreateWarning(_checker);

            // Stubs/mocks
            _ts  = Substitute.For <ITrackSpeed>();
            _tcc = Substitute.For <ITrackCompassCourse>();

            // Driver
            _controller = new Controller(_sorter, _ts, _tcc, _checker, _warningCreator, _logger);

            // Data
            _fakeRawArgs = new RawTransponderDataEventArgs(new List <string>()
            {
                "Tag123;70000;70000;1000;20180420222222222", "Tag456;68000;68000;800;20180420222222222", "Tag789;89000;89000;5000;20180420222222222"
            });

            // Assign to events
            _checker.SeperationEvents    += _checker_SeperationEvents;
            _checker.NewSeperationEvents += _checker_FinishedSeperationEvents;
        }
Beispiel #20
0
 public void Setup()
 {
     _fakeTransponderReceiver = Substitute.For <ITransponderReceiver>();
     _fakeDecoder             = Substitute.For <IDecoder>();
     _uut = new Decoder(_fakeTransponderReceiver);
     _uut.DataDecodedEvent += (o, args) => { ++_nDataDecodedEvents; };
 }
Beispiel #21
0
        public void Setup()
        {
            _fakeTransponderReceiver = Substitute.For <ITransponderReceiver>();
            _fakeOutput      = Substitute.For <IOutput>();
            _fakeIFileLogger = Substitute.For <IFileLogger>();

            _realAirspace = new Airspace(10000, 10000, 90000, 90000, 500, 20000)
            {
                South         = 10000,
                West          = 10000,
                North         = 90000,
                East          = 90000,
                LowerAltitude = 500,
                UpperAltitude = 20000
            };

            _realDecoder         = new Decoder(_fakeTransponderReceiver);
            _realAmsController   = new AMSController(_realDecoder, _realAirspace);
            _realAvoidanceSystem = new CollisionAvoidanceSystem(_realAmsController, 5000, 300);

            _realLogger        = new Logger(_realAvoidanceSystem);
            _realConsoleOutput = new ConsoleOutput(_realAmsController, _realAvoidanceSystem, _fakeOutput);

            _realAvoidanceSystem.SeparationEvent += (o, args) => { ++_nSeperationEvent; };
        }
Beispiel #22
0
        public FlightTransponderHandler(ITransponderReceiver receiver)
        {
            _receiver = receiver;
            _receiver.TransponderDataReady += OnReceivedData;

            _flightStrings = new List <string>();
        }
Beispiel #23
0
 public HandleRTD(ITransponderReceiver receiver, IAirspace CheckPlanes, IDetectSeparationEvent detect) // Changed to IAirspace
 {
     Receiver = receiver;
     Receiver.TransponderDataReady += OnDataReady;
     _CheckPlanes          = CheckPlanes;
     detectSeparationEvent = detect;
 }
Beispiel #24
0
        static void Main(string[] args)
        {
            ITransponderReceiver transponderReceiver = TransponderReceiverFactory.CreateTransponderDataReceiver();
            ITrackingSystem      trackingSystem      = new TrackingSystem(transponderReceiver);

            Console.ReadLine();
        }
Beispiel #25
0
        static void Main(string[] args)
        {
            ITransponderReceiver transponderReceiver = TransponderReceiverFactory.CreateTransponderDataReceiver();

            IFlightTrackDataSource dataConverter = new DataConverter(transponderReceiver);
            IFlightTrackManager    flightManager = new SensorAreaManager(dataConverter);

            var airspace = new AirspaceManager(flightManager, new AirspaceArea(10000, 10000, 90000, 90000, 500, 20000));

            IEnterExitEventDetector   airspacEnterExitEventDetector = new EnterExitEventDetector(airspace);
            IEnterExitEventController airspaceEnterExitEventCtrl    = new EnterExitEventController(airspacEnterExitEventDetector);

            ISeperationEventDetector airspaceSeperationDetector = new SeperationEventDetector(airspace, 300, 5000);
            //ISeperationEventDetector seperationDetector = new SeperationEventDetector(flightManager, 5000, 10000);
            ISeperationEventController airspaceSeperationEventCtrl = new SeperationEventController(airspaceSeperationDetector);

            IMonitor monitor = new Monitor();
            var      airspaceContentDisplayer = new AirspaceContentDisplayer(monitor, airspace, 40, 20);
            var      aispaceEventDisplayer    = new EnterExitEventDisplayer(monitor, airspaceEnterExitEventCtrl);
            var      seperationEventDisplayer = new SeperationEventDisplayer(monitor, airspaceSeperationEventCtrl);

            while (true)
            {
                Thread.Sleep(250);
            }
            ;
        }
        public void Setup()
        {
            // Make a fake Transponder Data Receiver
            _fakeTransponderReceiver = Substitute.For <ITransponderReceiver>();
            // Inject the fake TDR
            _uut         = new FilterRelevantPlanes(_fakeTransponderReceiver);
            receivedArgs = null;
            NumberOfRelevantPlanesEvents    = 0;
            NumberOfNotRelevantPlanesEvents = 0;

            // Setup a fake event handler
            // Remember the received arg
            // and count the number of events
            _uut.RelevantPlaneEvent +=
                (s, a) => {
                receivedArgs = a;
                NumberOfRelevantPlanesEvents++;
            };

            _uut.NotRelevantPlaneEvent +=
                (s, a) => {
                receivedArgs = a;
                NumberOfNotRelevantPlanesEvents++;
            };
        }
Beispiel #27
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;
            };
        }
        public Decoder(ITransponderReceiver receiver)
        {
            this.receiver = receiver;

            // Attach to the event of the real or the fake TDR
            this.receiver.TransponderDataReady += Decode;
        }
        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          = Substitute.For <ITracksManager>();
            _airspaceChecker        = Substitute.For <IAirspaceChecker>();
            _uut                    = new TagsManager(_airspaceChecker);
            _courseCalculator       = Substitute.For <ICourseCalculator>();
            _velocityCalculator     = Substitute.For <IVelocityCalculator>();
            _seperationEventChecker = Substitute.For <ISeperationEventChecker>();

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


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

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


            // Act
            _transponderReceiver.TransponderDataReady +=
                Raise.EventWith(new RawTransponderDataEventArgs(_list));
        }
Beispiel #30
0
        public void SetUp()
        {
            _fakeTransponderReceiver = Substitute.For <ITransponderReceiver>();
            _uut = new TrackReciever(_fakeTransponderReceiver);

            _uut.TrackedDataReady += (o, a) => { output = a; };
        }
Beispiel #31
0
        public void Setup()
        {
            _transponderReceiver    = Substitute.For <ITransponderReceiver>();
            _trackRendition         = Substitute.For <ITrackRendition>();
            _proximityDetectionData = new ProximityDetectionData();
            _eventRendition         = new EventRendition();
            _proximityDetection     = new ProximityDetection(_eventRendition, _proximityDetectionData);
            _trackUpdate            = new TrackUpdate(_trackRendition, _proximityDetection);
            _filtering     = new Filtering(_trackUpdate);
            _parsing       = new Parsing(_transponderReceiver, _filtering);
            _trackData     = new TrackData();
            _faketrackList = new List <ITrackData>();
            //_trackRendition = new TrackRendition();

            _dataEvent = new RawTransponderDataEventArgs(new List <string>()
            {
                "JAS001;12345;67890;12000;20160101100909111"
            });

            //_fakeTrackData = new TrackData
            //{
            //    Tag = "JAS001",
            //    X = 12345,
            //    Y = 67890,
            //    Altitude = 12000,
            //    Course = 0,
            //    Velocity = 0,
            //    TimeStamp = DateTime.ParseExact("20160101100909111", "yyyyMMddHHmmssfff", System.Globalization.CultureInfo.InvariantCulture)
            //};
        }
Beispiel #32
0
 public void Setup()
 {
     // Make a fake Transponder Data Receiver
     _fakeTransponderReceiver = Substitute.For <ITransponderReceiver>();
     // Inject the fake TDR
     _uut = new TransponderReceiverClient(_fakeTransponderReceiver);
 }
        /// <summary>
        /// Constructor expect atleast transponderReceiver to get data
        /// if dataconverter and eventhandler is not provided, default objects will be created
        /// </summary>
        /// <param name="transponderReceiver"></param>
        /// <param name="dataConverter"></param>
        /// <param name="eventHandler"></param>
        public ATMDataDecoder(ITransponderReceiver transponderReceiver, IATMDataConverter dataConverter = null,
            IATMEventHandler eventHandler = null)
        {
            _dataConverter = dataConverter ?? new ATMDataConverter(new ATMAngleConverter(), new ATMVelocityConverter());
            _eventHandler = eventHandler ?? new ATMEventHandler();

            if (transponderReceiver != null) transponderReceiver.TransponderDataReady += OnTransponderDataReady;
        }
Beispiel #34
0
 public TransponderMonitor(ITransponderReceiver eventReceiver, ITransponderParser transParser, IAirSpaceMonitor airSpaceMonitor)
 {
     _logger = new Logger(typeof (TransponderMonitor));
     _eventReceiver = eventReceiver; //TransponderReceiverFactory.CreateTransponderDataReceiver();
     _eventReceiver.TransponderDataReady += TransponderListener;
     _transParser = transParser; // new TransponderParser();
     _airSpaceMonitor = airSpaceMonitor;
     _observers = new List<IObserver<List<Plane>>>();
 }
        public void Setup()
        {
            _transponderReceiver = Substitute.For<ITransponderReceiver>();

            _atmDataDecoder = new ATMDataDecoder(_transponderReceiver,
                 new ATMDataConverter(new ATMAngleConverter(), new ATMVelocityConverter()),
                new ATMEventHandler());
        }
        public void Setup()
        {
            _fakeTransponderDataSource = Substitute.For<ITransponderReceiver>();
            _uut = new ATMDataDecoder(_fakeTransponderDataSource, _atmDataConverter = Substitute.For<IATMDataConverter>(), _atmEventHandler = Substitute.For<IATMEventHandler>());

            _atmDataConverter.Convert(Arg.Any<List<string>>())
                .Returns(new List<IATMTransponderData> { new ATMTransponderData { Tag = "F12" } });
        }
Beispiel #37
0
        public void Setup()
        {
            transponderReceiver = Substitute.For<ITransponderReceiver>();

            _uut = new Radartower(transponderReceiver);
        }
Beispiel #38
0
 public TestVelocity()
 {
     TransponderReceiver = TransponderReceiverFactory.CreateTransponderDataReceiver();
 }