Beispiel #1
0
        public void OnFlightTrackDataReady_FlightTracksUpdatedEventTriggered()
        {
            // Arrange
            var dp   = new FTDataPoint("TAG123", 4000, 4000, 2000, DateTime.Now);
            var args = new FlightTrackDataEventArgs(new List <FTDataPoint> {
                dp, dp
            });

            // Act
            _testFlightTrackDataSource.FlightTrackDataReady += Raise.EventWith(args);

            // Assert
            Assert.That(_outputEventCounter, Is.EqualTo(1));
        }
Beispiel #2
0
        public void OnFlightTrackDataReady_FlightTrackDataSourceToSensorAreaManager_OneEventOneEntry(List <FTDataPoint> argsData, FlightTracksUpdatedEventArgs multipleData, List <IFlightTrack> tracker)
        {
            // Arrange
            var testFlightTrackDataArgs = new FlightTrackDataEventArgs(argsData);
            var testDataAfterEvent      = new FlightTracksUpdatedEventArgs(new List <IFlightTrack>());

            _uut.FlightTracksUpdated +=
                (sender, args) => testDataAfterEvent.UpdatedFlights = args.UpdatedFlights;

            // Act
            _testFlightTrackDataSource.FlightTrackDataReady += Raise.EventWith(this, testFlightTrackDataArgs);

            // Assert
            Assert.That(_outputEventCounter, Is.EqualTo(1));
            Assert.That(testDataAfterEvent.UpdatedFlights.Count, Is.EqualTo(multipleData.UpdatedFlights.Count));
        }
Beispiel #3
0
        public void OnTransponderDataReady_TransponderdataToTrackDataSource_OneEventOneEntry(string rawdata, string testTag)
        {
            _eventCounter = 0;
            // Arrange
            var testRawData = new List <string>()
            {
                rawdata
            };
            var rawDataArgs         = new RawTransponderDataEventArgs(testRawData);
            var testFlightTrackData = new FlightTrackDataEventArgs(new List <FTDataPoint>());

            // Expression to set test data when event is occuring for testing data aswell as counting events.
            _uut.FlightTrackDataReady += (o, args) => testFlightTrackData.FTDataPoints = args.FTDataPoints;
            // Act
            _testTransponderReceiver.TransponderDataReady += Raise.EventWith(this, rawDataArgs);

            // Assert
            Assert.That(_eventCounter, Is.EqualTo(1));
            Assert.That(testTag, Is.EqualTo(testFlightTrackData.FTDataPoints.First().Tag));
        }
Beispiel #4
0
        private void OnTransponderDataReady(object o, RawTransponderDataEventArgs args)
        {
            Debug.Log("DataReader: Handling TransponderDataReady Event");

            FlightTrackDataEventArgs flightTrackData = ConvertTransponderData(args);
            List <FTDataPoint>       newFTDataPoints = flightTrackData.FTDataPoints;

            if (newFTDataPoints.Count > 0)
            {
                Debug.Log("DataReader: Invoking FlightTrackDataReady, sending " + newFTDataPoints.Count + " DataPoints:");
                foreach (var dp in newFTDataPoints)
                {
                    Debug.Log("Tag: " + dp.Tag + " Pos: " + dp.X + "," + dp.Y + " Altitude: " + dp.Altitude + " Time: " + dp.TimeStamp);
                }

                FlightTrackDataReady?.Invoke(this, flightTrackData);
            }
            else
            {
                Debug.Log("DataReader: No data to send");
            }
        }
Beispiel #5
0
        private void OnFlightTrackDataReady(object o, FlightTrackDataEventArgs args)
        {
            Debug.Log("FlightManager: Handling FlightTrackDataReady event, recieved " + args.FTDataPoints.Count + " Datapoints");
            List <FTDataPoint>  recievedDataPoints = args.FTDataPoints;
            List <IFlightTrack> updatedflights     = new List <IFlightTrack>();

            foreach (var dp in args.FTDataPoints)
            {
                if (!_flights.Exists(x => x.GetTag() == dp.Tag))
                {
                    Debug.Log("New flight entered sensor range with tag '" + dp.Tag + "'");
                    _flights.Add(new Flight(dp));
                }

                //Debug.Log("FlightManager: Adding datapoint to flight with tag '" + dp.Tag + "'");
                IFlightTrack f = _flights.Find(x => x.GetTag() == dp.Tag);
                f.AddDataPoint(dp);

                updatedflights.Add(f);
            }

            Debug.Log("FlightManager: Invoking FlightTracksUpdated, sending list of " + updatedflights.Count + " updated flights");
            FlightTracksUpdated?.Invoke(this, new FlightTracksUpdatedEventArgs(updatedflights));
        }
Beispiel #6
0
        public void ConvertTransponderData_RawTransponderDataArgsEventTest_(string tag, string raw)
        {
            // Arrange
            // - Test
            FTDataPoint _testFTDataPoint = new FTDataPoint()
            {
                Tag = tag
            };
            List <FTDataPoint> _testListFTDataPoint = new List <FTDataPoint>()
            {
                _testFTDataPoint
            };
            FlightTrackDataEventArgs _testArgs = new FlightTrackDataEventArgs(_testListFTDataPoint);

            // - Setup Stringlist as raw transponder argument
            var _listStringTest = new List <string>();

            _listStringTest.Add(raw);

            // Act
            _testArgs = _uut.ConvertTransponderData(new RawTransponderDataEventArgs(_listStringTest));
            // Assert
            Assert.That(_testListFTDataPoint.First().Tag, Is.EqualTo(_testFTDataPoint.Tag));
        }