public void Setup() { //Arrange _objectifyingModule = Substitute.For <IObjectifyingModule>(); _airspace = Substitute.For <IAirspace>(); _uut = new FilterModule(_objectifyingModule, _airspace); _uut.TracksFiltered += (sender, args) => { _tracks = args.Data; }; //Border is (10000, 10000, 500) to (90000, 90000, 20000). _insideAirspace = new Point(50000, 50000, 10000); _outsideAirspace = new Point(500, 500, 5); //Assumptions _airspace.CheckIfWithinAirspace(_insideAirspace).Returns(true); _airspace.CheckIfWithinAirspace(_outsideAirspace).Returns(false); }
//Filter tracks - focuses only on tracks within the airspace //Ignores irrelevant airplanes private void FilterTracks(object sender, EventTracks e) { var filtered = new List <ITrack>(); foreach (var track in e.Data) { if (_airspace.CheckIfWithinAirspace(track.Position)) { filtered.Add(track); } } NewFiltered(new EventTracks(filtered)); }