public void SetUp()
        {
            _trackRemover       = new TrackRemover();
            _trackManagement    = new TrackManagement();
            _timeSpanCalculator = new TimeSpanCalculator();
            _distanceCalculator = new DistanceCalculator();
            _velocityCalculator = new VelocityCalculator(_timeSpanCalculator, _distanceCalculator);
            _velocityAnalyzer   = new VelocityAnalyzer(_velocityCalculator);
            _compassCalculator  = new CompassCalculator();
            _courseAnalyzer     = new CourseAnalyzer(_compassCalculator);

            _altitudeDistanceCalculator = new AltitudeDistanceCalculator();
            _collisionAnalyzer          = new CollisionAnalyzer(_distanceCalculator, _altitudeDistanceCalculator);
            _separationStringBuilder    = new SeparationStringBuilder();
            _fakeFileWriter             = Substitute.For <IFileWriter>();

            _airspace                    = new Airspace();
            _airspaceTrackChecker        = new AirspaceTrackChecker(_airspace);
            _fakeTransponderDataReciever = Substitute.For <ITransponderDataReciever>();
            _airspaceController          = new AirTrafficMonitoring.AirspaceController.AirspaceController(_fakeTransponderDataReciever, _airspaceTrackChecker);

            _flightManagement    = new AirTrafficMonitoring.FlightManagement.FlightManagement(_airspaceController, _trackRemover, _trackManagement);
            _flightAnalyzer      = new AirTrafficMonitoring.FlightAnalyzer.FlightAnalyzer(_flightManagement, _courseAnalyzer, _velocityAnalyzer);
            _collisionController = new AirTrafficMonitoring.CollisionController.CollisionController(_flightManagement, _collisionAnalyzer, _separationStringBuilder);
            _logger = new AirTrafficMonitoring.CollisionController.Logger(_collisionController, "", _fakeFileWriter);
        }
 public void SetUp()
 {
     _distanceCalculator         = new DistanceCalculator();
     _altitudeDistanceCalculator = new AltitudeDistanceCalculator();
     _collisionAnalyzer          = new CollisionAnalyzer(_distanceCalculator, _altitudeDistanceCalculator);
     _separationStringBuilder    = new SeparationStringBuilder();
     _fakeFlightManagement       = Substitute.For <IFlightManagement>();
     _fakeFileWriter             = Substitute.For <IFileWriter>();
     _collisionController        = new AirTrafficMonitoring.CollisionController.CollisionController(_fakeFlightManagement, _collisionAnalyzer, _separationStringBuilder);
     _logger = new Logger(_collisionController, "", _fakeFileWriter);
 }