public void Update_ArgIs3IdenticalValidTracks_UpdateIsCalledTwice()
        {
            int containsArgValidTrack1Cnt = 0;

            var list = new List <ITrack> {
                validTrack1,
                validTrack1,
                validTrack1
            };

            _tos.RecievedTracks = list;

            _airSpace.IsInValidAirSpace(validTrack1).Returns(true);

            _trackStorage.Contains(validTrack1).Returns(x => {
                if (containsArgValidTrack1Cnt > 1)
                {
                    return(true);
                }
                else
                {
                    return(false);
                }
            });

            _trackStorage.When(x => x.Contains(validTrack1)).Do(x => containsArgValidTrack1Cnt++);

            _uut.Update(_tos);

            _trackStorage.ReceivedWithAnyArgs(2).Update(new Track());
        }
예제 #2
0
        public void Update(Tos obj)
        {
            var recievedTracks = obj.RecievedTracks;

            foreach (var track in recievedTracks)
            {
                if (_airSpace.IsInValidAirSpace(track))
                {
                    if (_trackStorage.Contains(track))
                    {
                        _trackStorage.Update(track);
                    }
                    else
                    {
                        _trackStorage.Add(track);
                    }
                }
                else if (_trackStorage.Contains(track) && !_airSpace.IsInValidAirSpace(track))
                {
                    _trackStorage.Remove(track);
                }
            }

            _collisonDetector.CheckForCollision(_trackStorage.GetAllTracks());
            _render.PrintTrackData(_trackStorage.GetAllTracks());
        }
예제 #3
0
 public void Add_ValidTrack_ContainsTheTrack()
 {
     _track1.Tag = "AAA111";
     _uut.Add(_track1);
     Assert.That(_uut.Contains(_track1), Is.True);
 }