Пример #1
0
        public void SetUp()
        {
            _airspaceChecker = Substitute.For <IAirspaceChecker>();
            _uut             = new TagsManager(_airspaceChecker);

            _tracks = new List <Track>
            {
                new Track()
                {
                    Tag = "1"
                },
                new Track()
                {
                    Tag = "2"
                },
                new Track()
                {
                    Tag = "3"
                }
            };

            _tags = new List <string>();

            _airspaceChecker.Check(_tracks[0]).Returns(true);
            _airspaceChecker.Check(_tracks[1]).Returns(true);
            _airspaceChecker.Check(_tracks[2]).Returns(true);
        }
Пример #2
0
        public void Manage_AddTrackOutsideAirspace_TagCountIsCorrect()
        {
            // Arrange
            var newTrack = new List <Track> {
                new Track()
                {
                    Tag = "2"
                }
            };

            _airspaceChecker.Check(newTrack[0]).Returns(false);

            // Act
            _uut.Manage(ref _tags, _tracks);
            _uut.Manage(ref _tags, newTrack);

            // Assert
            Assert.That(_tags.Count, Is.EqualTo(2));
        }
Пример #3
0
 public void Manage(ref List <string> tags, List <Track> tracks)
 {
     foreach (var track in tracks)
     {
         if (_airspaceChecker.Check(track))
         {
             if (!tags.Contains(track.Tag))
             {
                 tags.Add(track.Tag);
             }
         }
         else if (tags.Contains(track.Tag))
         {
             tags.Remove(track.Tag);
         }
     }
 }
Пример #4
0
        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      = new TracksManager();
            _airspaceChecker    = Substitute.For <IAirspaceChecker>();
            _tagsManager        = new TagsManager(_airspaceChecker);
            _courseCalculator   = new CourseCalculator();
            _velocityCalculator = new VelocityCalculator();
            _uut = new SeperationEventChecker();
            _seperationEventLogger = Substitute.For <ISeperationEventLogger>();

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



            _list = new List <string>
            {
                "ATR423;10000;10000;14000;20151006213456000",
                "ATR424;10000;10100;14000;20151006213456000"
            };


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

            _airspaceChecker.Check(new Track()).ReturnsForAnyArgs(true);

            // Act
            _transponderReceiver.TransponderDataReady +=
                Raise.EventWith(new RawTransponderDataEventArgs(_list));
        }