public ATMSystem(IATMFactory factory, ITransponderReceiver transponderReceiver) { //Calling factory methods receiver = transponderReceiver; _airSpace = factory.CreateAirSpace(); _condition = factory.CreateCondition(); _consolePrinter = factory.CreateConsolePrinter(); _logger = factory.CreateLogger(); _separationChecker = factory.CreateSeparationChecker(); //Subscribing to events this.receiver.TransponderDataReady += ReceiverOnTransponderReady; this.SeparationLogDataReady += _logger.SeparationLogDataHandler; this.ConsoleSeparationDataReady += _consolePrinter.ConsoleSeparationDataHandler; }
public void SetUp() { _collisionDetector = Substitute.For <ICollisionDetector>(); _airSpace = Substitute.For <IAirSpace>(); _log = Substitute.For <ILog>(); _render = Substitute.For <IRender>(); _trackStorage = Substitute.For <ITrackStorage>(); _tos = Substitute.For <Tos>(Substitute.For <ITransponderReceiver>()); validTrack1 = new Track { Tag = "AAA111", PositionX = 12000, PositionY = 80000, Altitude = 700 }; validTrack2 = new Track { Tag = "BBB222", PositionX = 80000, PositionY = 12000, Altitude = 1700 }; _uut = new AirTrafficController(_collisionDetector, _trackStorage, _airSpace, _render, _log); }
public bool IsInAirSpace(IAirSpace airSpace, ITrack track) { if (track._alt < airSpace.MinAltitude || track._alt > airSpace.MaxAltitude) { return(false); } if (track._xCord < airSpace.XStartPoint || track._xCord > airSpace.GetXEndPoint()) { return(false); } if (track._yCord < airSpace.YStartPoint || track._yCord > airSpace.GetYEndPoint()) { return(false); } return(true); }
public AirTrafficController(ICollisionDetector cd, ITrackStorage ts, IAirSpace airs, IRender r, ILog l) { _collisonDetector = cd; _trackStorage = ts; _airSpace = airs; _render = r; _log = l; _collisonDetector.Separation += (s, e) => { _render.PrintCollisionTracks(e.CollisionPairs); _log.LogCollisionToFile(e.CollisionPairs); }; _collisonDetector.NotColliding += (s, e) => { _render.PrintCollisionTracks(e.CollisionPairs, true); }; }
public void Init() { consoleLogger = Substitute.For <Classes.Interfaces.ILogger>(); output = new Output(); trackRepository = new TrackRepository(); seperation = new Seperation(); logHelper = new LogHelper(); logHelper.Logger = consoleLogger; eventLogger = new EventLogger(); output.LogHelper = logHelper; airspace = new AirSpace(); seperationAlertRepository = new SeperationAlertRepository(); transponderReceiver = Substitute.For <ITransponderReceiver>(); trackObservationSystem = new TrackObservationSystem(transponderReceiver) { TrackRepository = trackRepository, Output = output, AirSpace = airspace, SeperationAlertRepository = seperationAlertRepository }; }
public SeparationChecker(IAirSpace airSpace, ICondition separationCondition) { _airSpace = airSpace; _separationCondition = separationCondition; _currentConflicts = new List <Conflict>(); }
public FileWriter(IAirSpace airSpace) { airSpace.SplitCreated += onSplitCreated; }
public PlaneTracker() { airSpaceTracker = new AirSpaceTracker(); airSpace = new AirSpace(); }
public void SetUp() { airSpace = Substitute.For <IAirSpace>(); track = Substitute.For <ITrack>(); _uut = new AirSpaceTracker(); }