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