public void DetectCondition_ConditionFound_EventHandlerInvoked()
        {
            bool       invoked     = false;
            ITrack     firstTrack  = FakeTrackFactory.GetTrack(1000, 1000, 1000);
            ITrack     secondTrack = FakeTrackFactory.GetTrack(1100, 1100, 1000);
            ITrackable airspace    = FakeAirspaceGenerator.GetAirspace(0, 0, 0);

            airspace.Trackables = new List <ITrack>()
            {
                firstTrack, secondTrack
            };
            _fakeCondition.ConditionBetween(Arg.Any <ITrack>(), Arg.Any <ITrack>()).Returns(true);
            _uutConditionDetector.ConditionsHandler += (s, e) => invoked = true;

            _uutConditionDetector.DetectCondition(airspace);

            Assert.That(invoked);
        }
Ejemplo n.º 2
0
        public void Update(object sender, ValidateEventArgs e)
        {
            Airspace.Trackables.RemoveAll(tracks => e.NotInAirspaceButUsedToBe.Exists(tr => tr.Tag == tracks.Tag));
            List <ITrack> tempTracks = Airspace.Trackables;

            _updater.Update(ref tempTracks, e.StillInAirspace);
            Airspace.Trackables = tempTracks;
            Airspace.Trackables.AddRange(e.NewInAirspace);
            _conditionDetector.DetectCondition(Airspace);
            _outputter.TrafficController.DisplayTracks(Airspace.Trackables);
            _outputter.TrafficController.DisplayConditions(Conditions);
        }