예제 #1
0
        public void SetUp()
        {
            //Fields
            _within  = new Point(15000, 15000, 10000);
            _outside = new Point(1, 1, 1);

            //Stubs
            _airspace = Substitute.For <IAirspace>();
            _airspace.CalculateWithinAirspace(_within).Returns(true);
            _airspace.CalculateWithinAirspace(_outside).Returns(false);
            _factory = Substitute.For <IFactory>();

            //Unit under test
            _uut = new Filter(_airspace, _factory);
            _uut.TracksFiltered += (o, args) =>
            {
                _trackList = args.TrackData;
                ++_nEventsReceived;
            };
        }
예제 #2
0
        private void FilterTracks(object sender, EventTracks e)
        {
            var filteredTracks = new List <ITrack>();

            foreach (var track in e.TrackData)
            {
                if (_airspace.CalculateWithinAirspace(track.Position))
                {
                    filteredTracks.Add(track);
                }
            }

            FilteredTrackEvent(new EventTracks(filteredTracks));
        }