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); }
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); }