public FlightCollection(IFlightCalculator flightCalculator, IFlightFilter flightFilter, ICollisionDetector collisionDetector)
 {
     flightFilter.transponderFilterChanged += GetTransponderData;
     this.FlightList         = new List <Flight>();
     this.flightCalculator   = flightCalculator;
     this.collisionDetector_ = collisionDetector;
 }
Exemplo n.º 2
0
            public void SetUp()
            {
                //arrange
                stubCalculator        = new StubCalculator();
                stubFilter            = Substitute.For <IFlightFilter>();
                stubCollisionDetector = Substitute.For <ICollisionDetector>();
                uut             = new FlightCollection(stubCalculator, stubFilter, stubCollisionDetector);
                receivedArgs    = null;
                setArgs         = new FlightArgs();
                setArgs.flights = new List <Flight>();

                TransponderData td = new TransponderData("aaa", 0, 0, 0, new DateTime());
                Flight          f  = new Flight(td);

                stubCollisionDetector.OnFlightsChanged(Arg.Any <FlightArgs>()).ReturnsForAnyArgs(setArgs.flights);


                numberOfFlightsChangedEvents = 0;

                uut.flightsChanged += (s, e) =>
                {
                    receivedArgs = e;
                    numberOfFlightsChangedEvents++;
                };
            }
Exemplo n.º 3
0
 public ControllerFactory(IDecoder decoder, ITrackDataFilter filter, ICollisionDetector collisionDetector, IDisplay display, ITransponderReceiver receiver, IFlightCalculator flightCalculator)
 {
     Decoder           = decoder;
     Filter            = filter;
     CollisionDetector = collisionDetector;
     Display           = display;
     Receiver          = receiver;
     FlightCalculator  = flightCalculator;
 }
Exemplo n.º 4
0
 public ControllerFactory()
 {
     Decoder           = new Decoder();
     Filter            = new TrackDataFilter();
     CollisionDetector = new CollisionDetector(new Logger());
     Display           = new Display();
     Receiver          = TransponderReceiverFactory.CreateTransponderDataReceiver();
     FlightCalculator  =
         new FlightCalculator(new VelocityCalculator(), new DirectionCalculator());
 }
Exemplo n.º 5
0
        public void Setup()
        {
            _fakeVelocityCalculator  = Substitute.For <IVelocityCalculator>();
            _fakeDirectionCalculator = Substitute.For <IDirectionCalculator>();
            _fakeCollisionDetector   = Substitute.For <ICollisionDetector>();

            _fakeVelocityCalculator.CalculateSpeed(Arg.Any <TrackData>(), Arg.Any <TrackData>()).Returns(1000);
            _fakeDirectionCalculator.CalculateDirection(Arg.Any <TrackData>(), Arg.Any <TrackData>()).Returns(45);


            uut = new FlightCalculator(_fakeVelocityCalculator, _fakeDirectionCalculator);
        }
Exemplo n.º 6
0
        public ATMController(ControllerFactory controllerFactory)
        {
            _decoder           = controllerFactory.Decoder;
            _filter            = controllerFactory.Filter;
            _flightCalculator  = controllerFactory.FlightCalculator;
            _collisionDetector = controllerFactory.CollisionDetector;
            _display           = controllerFactory.Display;
            _receiver          = controllerFactory.Receiver;

            _data = new Dictionary <string, FlightData>();

            _receiver.TransponderDataReady += OnTransponderDataReady;
        }
Exemplo n.º 7
0
        public void Setup()
        {
            //Arrange
            _fakeDisplay           = Substitute.For <IDisplay>();
            _fakeTrackDataFilter   = Substitute.For <ITrackDataFilter>();
            _fakeFlightCalculator  = Substitute.For <IFlightCalculator>();
            _fakeCollisionDetector = Substitute.For <ICollisionDetector>();
            _fakeDecoder           = Substitute.For <IDecoder>();
            _fakeReceiver          = Substitute.For <ITransponderReceiver>();

            _fakeEventArgs      = new RawTransponderDataEventArgs(new List <string>());
            _fakeTrackData      = new List <TrackData>();
            _fakeFilteredData   = new List <TrackData>();
            _emptyFlightData    = new Dictionary <string, FlightData>();
            _fakeFlightData     = new Dictionary <string, FlightData>();
            _fakeCalculatedData = new Dictionary <string, FlightData>();
            _fakeSeperationData = new Tuple <List <string>, List <string> >(new List <string>(), new List <string>());

            //Fake decoder should return fake Trackdata when called with fakeEventArgs
            _fakeDecoder.Decode(_fakeEventArgs).Returns(_fakeTrackData);

            //Filter returns _fakeFilteredData
            _fakeTrackDataFilter.Filter(_fakeTrackData).Returns(_fakeFilteredData);

            //FlightCalculator returns _fakeFlightData
            _fakeFlightCalculator.Calculate(Arg.Any <Dictionary <string, FlightData> >(), Arg.Any <List <TrackData> >())
            .Returns(_fakeCalculatedData);

            //Seperation detector returns _fakeSeperationData
            _fakeCollisionDetector.SeperationCheck(Arg.Any <List <TrackData> >())
            .Returns(_fakeSeperationData);

            ControllerFactory fakeFactory = new ControllerFactory(
                _fakeDecoder,
                _fakeTrackDataFilter,
                _fakeCollisionDetector,
                _fakeDisplay,
                _fakeReceiver,
                _fakeFlightCalculator);

            _uut = new ATMController(fakeFactory);
        }
 public FlightRepository(IFlightCalculator flightCalculator, IDbProvider dbProvider, IAirportRepository airportRepository)
 {
     _flightCalculator  = flightCalculator;
     _dbProvider        = dbProvider;
     _airportRepository = airportRepository;
 }
Exemplo n.º 9
0
 public FlightService(IFlightCalculator flightCalculator, IFlightRepository flightRepository)
 {
     this.flightCalculator = flightCalculator ?? throw new ArgumentNullException("flightCalculator");
     this.flightRepository = flightRepository ?? throw new ArgumentNullException("flightRepository");
 }