Esempio n. 1
0
        public void Setup()
        {
            // Makings Subsitutes should be with interfaces :)
            _fakeTracker = Substitute.For <ITrack>();
            // This should have been a fake, but no interface :(
            _Airspace = new Airspace
            {
                X      = 0,
                Y      = 0,
                Z      = 500,
                width  = 80000,
                depth  = 80000,
                height = 20000
            };
            TracksInAirspaceEvent = delegate { };
            // This should be the only real instance :)
            Uut = new AirspaceMonitor(_Airspace, _fakeTracker);

            _comparisonPlane = new Track()
            {
                TagId    = "HEN777",
                Altitude = 1000,
                X        = 1000,
                Y        = 1000
            };

            var results = new List <List <Track> >();

            // Inserting data in the List<Track>
            // with Injected Tracks - "{ }"
            // instead of making a new List<Track> and adding later :)

            _fakeTracksInAirspace = new List <Track>()
            {
                new Track
                {
                    TagId    = "HEN123",
                    Altitude = 1000,
                    X        = 1000,
                    Y        = 1000
                },                             // Comma separtion is needed ;)
                new Track
                {
                    TagId    = "HEN321",
                    Altitude = 1000,
                    X        = 1000,
                    Y        = 1000
                },
                _comparisonPlane // this is added for comparisions
            };

            // Adding Tracks to the Unit under test
            NewTrackArgs newTrack = new NewTrackArgs();

            newTrack.Tracks = _fakeTracksInAirspace;
            Uut.OnTrackRecieved(this, newTrack);
        }
Esempio n. 2
0
        public void SetUp()
        {
            _pos.SetPosition(20000, 20000, 10000);
            _time     = new Time("20181010105111111");
            _trackOne = new Track("ABC123", _pos, _time);
            _trackTwo = new Track("XYZ789", _pos, _time);

            _receiver        = Substitute.For <ITransponderReceiver>();
            _airspaceMonitor = new AirspaceMonitor(_receiver);
        }
Esempio n. 3
0
        static void Main(string[] args)
        {
            ConsoleLogger consoleLogger       = new ConsoleLogger();
            var           transponderReceiver = TransponderReceiver.TransponderReceiverFactory.CreateTransponderDataReceiver();
            var           splitter            = new Splitter();

            transponderReceiver.TransponderDataReady += splitter.OnTransponderData;

            var airspace = new Airspace
            {
                X      = 0,
                Y      = 0,
                Z      = 500,
                width  = 80000,
                depth  = 80000,
                height = 20000
            };
            var tracker          = new TrackCalculator();
            var airspace_monitor = new AirspaceMonitor(airspace, tracker);

            airspace_monitor.NewTrackInTairSpaceEvent += consoleLogger.LogTrackEntered;
            airspace_monitor.TrackLeavesAirSpaceEvent += consoleLogger.LogTrackLeft;

            //splitter.newTrack += delegate(object sender, NewTrackArgs trackArgs)
            //{
            //    Console.WriteLine("Nyt Track Event\n=====================");
            //    foreach (var track in trackArgs.Tracks)
            //    {
            //        Console.WriteLine(track);
            //    }
            //};

            splitter.NewTracks += airspace_monitor.OnTrackRecieved;


            //airspace_monitor.TracksInAirspaceEvent += delegate(object sender, TracksInAirspaceArgs airspaceArgs)
            //{
            //    Console.WriteLine("Current In Airspace");
            //    foreach (var track in airspaceArgs.Tracks)
            //    {
            //        Console.WriteLine(track);
            //    }
            //};

            var seperation_moniotr = new SeparationMonitor();

            airspace_monitor.TracksInAirspaceEvent += seperation_moniotr.OnTrackRecieved;

            while (true)
            {
                System.Threading.Thread.Sleep(1000);
            }
        }
Esempio n. 4
0
        public void AirspaceMonitorEmptyTest()
        {
            // Out uut
            var airspace = new Airspace
            {
                X      = 10,
                Y      = 10,
                Z      = 10,
                depth  = 1000,
                width  = 2000,
                height = 500
            };

            var trackCalculator = new TrackCalculator();
            var uut             = new AirspaceMonitor(airspace, trackCalculator);

            // To keep result(s) after the event(s) has fired
            List <List <Track> > results = new List <List <Track> >();

            // Our test handler
            // This validates that the events arguments are correct
            // Here we verify that the event indeed had 42 as expected
            // And we save the value to results, such that we can verify how many times
            // the event fired and they all were correct
            EventHandler <TracksInAirspaceArgs> tracksInAirspaceHandler = (object sender, TracksInAirspaceArgs e) =>
            {
                int numInList = e.Tracks.Count; // Number of tracks in airspace
                Assert.That(numInList, Is.EqualTo(0));
                results.Add(e.Tracks);
            };

            // Register the test event handler
            uut.TracksInAirspaceEvent += tracksInAirspaceHandler;

            // Do stuff that trickers event
            List <Track> tracksEmptyList = new List <Track>(); // opret liste
            // Evt tilføj ting på listen
            NewTrackArgs newTrack = new NewTrackArgs();        // opret taske

            newTrack.Tracks = tracksEmptyList;                 // Putter listen ned i tasken

            uut.OnTrackRecieved(this, newTrack);               // Giv tasken til Caro

            // Verify the amount of events
            Assert.That(results.Count, Is.EqualTo(1)); // Only one event must be fired in this test

            // and their value(s)
            Assert.That(results.ElementAt(0).Count, Is.EqualTo(0));

            // deregister the event because we are good boys and girls
            uut.TracksInAirspaceEvent -= tracksInAirspaceHandler;
        }
Esempio n. 5
0
        public void AirspaceMonitor_IsInside_z_smaller_than_Z()
        {
            // Out uut
            var airspace = new Airspace
            {
                X      = 20,
                Y      = 20,
                Z      = 500,
                depth  = 80000,
                width  = 80000,
                height = 20000
            };

            var trackCalculator = new TrackCalculator();
            var uut             = new AirspaceMonitor(airspace, trackCalculator);

            // To keep result(s) after the event(s) has fired
            List <List <Track> > results = new List <List <Track> >(); //Antal lister modtaget med tracks

            // Our test handler
            // This validates that the events arguments are correct
            // Here we verify that the event indeed had 42 as expected
            // And we save the value to results, such that we can verify how many times
            // the event fired and they all were correct
            EventHandler <TracksInAirspaceArgs> tracksInAirspaceHandler = (object sender, TracksInAirspaceArgs e) =>
            {
                //int numInList = e.Tracks.Count; // Number of tracks in airspace
                //Assert.That(numInList, Is.EqualTo(0));
                var l = new List <Track>(); //Kopi af listen
                foreach (var t in e.Tracks)
                {
                    l.Add(t);
                }
                results.Add(l);
            };

            // Register the test event handler
            uut.TracksInAirspaceEvent += tracksInAirspaceHandler;

            // Do stuff that trickers event
            Track outsideTrack_z_greather_than_Z_plus_height = new Track
            {
                X        = 1000,
                Y        = 1000,
                Altitude = 70,
                TagId    = "BER207"
            };

            List <Track> tracksOutsideXList = new List <Track>
            {
                outsideTrack_z_greather_than_Z_plus_height
            }; // opret liste


            NewTrackArgs newTrack1 = new NewTrackArgs
            {
                Tracks = tracksOutsideXList // Putter listen ned i tasken
            };                              // opret taske

            uut.OnTrackRecieved(this, newTrack1);

            // Verify the amount of events
            Assert.That(results.Count, Is.EqualTo(1)); // Only one event must be fired in this test

            // and their value(s)
            Assert.That(results.ElementAt(0).Count, Is.EqualTo(0));

            // deregister the event because we are good boys and girls
            uut.TracksInAirspaceEvent -= tracksInAirspaceHandler;
        }
Esempio n. 6
0
        public void AirspaceMonitor_Replace_Track_With_Same_TagID()
        {
            // Out uut
            var airspace = new Airspace
            {
                X      = 10,
                Y      = 10,
                Z      = 10,
                depth  = 1000,
                width  = 2000,
                height = 500
            };

            var trackCalculator = new TrackCalculator();
            var uut             = new AirspaceMonitor(airspace, trackCalculator);

            // To keep result(s) after the event(s) has fired
            List <List <Track> > results = new List <List <Track> >(); //Antal lister modtaget med tracks

            // Our test handler
            // This validates that the events arguments are correct
            // Here we verify that the event indeed had 42 as expected
            // And we save the value to results, such that we can verify how many times
            // the event fired and they all were correct
            EventHandler <TracksInAirspaceArgs> tracksInAirspaceHandler = (object sender, TracksInAirspaceArgs e) =>
            {
                //int numInList = e.Tracks.Count; // Number of tracks in airspace
                //Assert.That(numInList, Is.EqualTo(0));
                var l = new List <Track>(); //Kopi af listen
                foreach (var t in e.Tracks)
                {
                    l.Add(t);
                }
                results.Add(l);
            };

            // Register the test event handler
            uut.TracksInAirspaceEvent += tracksInAirspaceHandler;

            // Do stuff that trickers event
            Track insideTrack = new Track
            {
                X        = 15,
                Y        = 15,
                Altitude = 15,
                TagId    = "DEF456"
            };

            List <Track> tracksSingleInsideList = new List <Track>
            {
                insideTrack
            }; // opret liste


            Track outsideTrack = new Track
            {
                X        = 8,
                Y        = 8,
                Altitude = 8,
                TagId    = "AAA111"
            };

            List <Track> trackSingleOutsideList = new List <Track>
            {
                outsideTrack
            };

            Track outsideTrackSameTagIDasInsideTrack = new Track
            {
                X        = 2,
                Y        = 2,
                Altitude = 2,
                TagId    = "DEF456"
            };

            List <Track> tracksOutsideListSameTagID = new List <Track>
            {
                outsideTrackSameTagIDasInsideTrack
            };

            NewTrackArgs newTrack = new NewTrackArgs
            {
                Tracks = tracksSingleInsideList // Putter listen ned i tasken
            };                                  // opret taske


            NewTrackArgs newTrackOutside = new NewTrackArgs
            {
                Tracks = trackSingleOutsideList
            };

            NewTrackArgs newTrackOutsideSameTagID = new NewTrackArgs
            {
                Tracks = tracksOutsideListSameTagID
            };

            uut.OnTrackRecieved(this, newTrack); // Giv tasken til Caro
            uut.OnTrackRecieved(this, newTrackOutside);
            uut.OnTrackRecieved(this, newTrackOutsideSameTagID);

            // Verify the amount of events
            Assert.That(results.Count, Is.EqualTo(3)); // Only one event must be fired in this test

            // and their value(s)
            Assert.That(results.ElementAt(0).Count, Is.EqualTo(1));
            Assert.That(results.ElementAt(1).Count, Is.EqualTo(1));
            Assert.That(results.ElementAt(2).Count, Is.EqualTo(0));

            // deregister the event because we are good boys and girls
            uut.TracksInAirspaceEvent -= tracksInAirspaceHandler;
        }
Esempio n. 7
0
        //Mainprogrammet opretter et nyt luftrum som kan blive overvåget
        static void Main(string[] args)
        {
            AirspaceMonitor flightConverter = new AirspaceMonitor(TransponderReceiverFactory.CreateTransponderDataReceiver());

            Console.ReadLine();
        }
Esempio n. 8
0
 public void SetUp()
 {
     _receiver        = Substitute.For <ITransponderReceiver>();
     _track           = Substitute.For <ITrack>();
     _airspaceMonitor = new AirspaceMonitor(_receiver);
 }