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); }
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); }
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); } }
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; }
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; }
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; }
//Mainprogrammet opretter et nyt luftrum som kan blive overvåget static void Main(string[] args) { AirspaceMonitor flightConverter = new AirspaceMonitor(TransponderReceiverFactory.CreateTransponderDataReceiver()); Console.ReadLine(); }
public void SetUp() { _receiver = Substitute.For <ITransponderReceiver>(); _track = Substitute.For <ITrack>(); _airspaceMonitor = new AirspaceMonitor(_receiver); }