예제 #1
0
        [TestCase(85000, 20000, 34000, 85000, 24999, 34000, true)]  //Check y
        public void UutDetectConflict(int x1, int y1, int z1, int x2, int y2, int z2, bool expectedResult)
        {
            Track track1 = new Track("track1", z1, DateTime.Now, new Position(x1, y1));
            Track track2 = new Track("track2", z2, DateTime.Now, new Position(x2, y2));

            List <Track> tracks = new List <Track>();

            tracks.Add(track1);
            tracks.Add(track2);

            _uut.DetectConflict(tracks);
            Assert.That(tracks[0].Conflicts != null, Is.EqualTo(expectedResult));
        }
예제 #2
0
        private void RelayEventHandler(object sender, TrackEventArgs e)
        {
            tracks = e.Tracks;
            tracks = _compassCourse.CalcCourse(tracks);
            tracks = _area.CheckArea(tracks);
            tracks = _speed.CalcSpeed(tracks);
            tracks = _conflict.DetectConflict(tracks);


            ControllerEvent(this, new TrackEventArgs()
            {
                Tracks = tracks
            });

            events = _eventDetector.DetectEvents(tracks);


            if (events != null && events.Count > 0)
            {
                DetectEvent(this, new EventEventArgs()
                {
                    Events = events
                });
            }
        }
예제 #3
0
        public void SetUp()
        {
            _relay         = Substitute.For <IRelay>();
            _area          = Substitute.For <IArea>();
            _conflict      = Substitute.For <IConflict>();
            _speed         = Substitute.For <ISpeed>();
            _compasscourse = Substitute.For <ICompassCourse>();
            _eventdetector = Substitute.For <IEventDetector>();
            _relay         = Substitute.For <IRelay>();
            _results       = new TrackEventArgs();

            // Arbitrary List og tracks
            t = new List <Track>();
            t.Add(new Track("A", 500, DateTime.Now, new Position(1, 1)));

            // Make event on controller class with above made List<Track>
            args = new TrackEventArgs()
            {
                Tracks = t
            };

            // Make methods return data
            _compasscourse.CalcCourse(t).Returns(t);
            _area.CheckArea(t).Returns(t);
            _speed.CalcSpeed(t).Returns(t);
            _conflict.DetectConflict(t).Returns(t);

            // Make uut
            _uut = new Controller(_relay, _area, _compasscourse, _conflict, _speed, _eventdetector);

            // Make "fake" listener on Controller class, that has the TrackEventArgs, that can be Asserted on, also an event needs to have a listener to not break the code
            _uut.ControllerEvent += (sender, output) => _results = output;
        }