Example #1
0
        static void Main(string[] args)
        {
            ITransponderReceiver receiver = TransponderReceiverFactory.CreateTransponderDataReceiver();

            Decoder       d1  = new Decoder(receiver);
            AMSController ams = new AMSController(d1, new Airspace(

                                                      South: 10000,
                                                      West: 10000,
                                                      North: 90000,
                                                      East: 90000,
                                                      LowerAltitude: 500,
                                                      UpperAltitude: 20000
                                                      ));

            CollisionAvoidanceSystem cas = new CollisionAvoidanceSystem(ams, 20000, 10000);
            Logger fl     = new Logger(cas);
            Output output = new Output();

            ConsoleOutput c = new ConsoleOutput(ams, cas, output);

            while (true)
            {
                Thread.Sleep(1000);
            }
        }
Example #2
0
        public void Setup()
        {
            _fakeTransponderReceiver = Substitute.For <ITransponderReceiver>();
            _fakeOutput      = Substitute.For <IOutput>();
            _fakeIFileLogger = Substitute.For <IFileLogger>();

            _realAirspace = new Airspace(10000, 10000, 90000, 90000, 500, 20000)
            {
                South         = 10000,
                West          = 10000,
                North         = 90000,
                East          = 90000,
                LowerAltitude = 500,
                UpperAltitude = 20000
            };

            _realDecoder         = new Decoder(_fakeTransponderReceiver);
            _realAmsController   = new AMSController(_realDecoder, _realAirspace);
            _realAvoidanceSystem = new CollisionAvoidanceSystem(_realAmsController, 5000, 300);

            _realLogger        = new Logger(_realAvoidanceSystem);
            _realConsoleOutput = new ConsoleOutput(_realAmsController, _realAvoidanceSystem, _fakeOutput);

            _realAvoidanceSystem.SeparationEvent += (o, args) => { ++_nSeperationEvent; };
        }
        public void Setup()
        {
            amsController = Substitute.For <IAMSController>();
            longtitude    = 5000;
            altitude      = 300;
            _uut          = new CollisionAvoidanceSystem(amsController, longtitude, altitude);

            _uut.SeparationEvent += (o, args) => { ++_nSeparationEvents; };
        }
Example #4
0
            public Spaceship(IMyGridTerminalSystem system, IMyIntergridCommunicationSystem igc)
            {
                this.system = system;
                this.igc    = igc;

                cpu = FindRunningPB(system);

                control   = FindBlockOfType <IMyRemoteControl>(system, this, Settings.TAG);
                connector = FindBlockOfType <IMyShipConnector>(system, this, Settings.TAG);
                debug     = FindBlockOfType <IMyTextPanel>(system, this, Settings.TAG);
                if (debug == null)
                {
                    IMyCockpit cockpit = FindBlockOfType <IMyCockpit>(system, this, Settings.TAG);
                    if (cockpit.SurfaceCount > 0)
                    {
                        debug = cockpit.GetSurface(0);
                    }
                }
                debug.Font        = "Monospace";
                debug.ContentType = ContentType.TEXT_AND_IMAGE;

                /*
                 *  screen = cockpit.GetSurface(0);
                 *  screen.ContentType = ContentType.SCRIPT;
                 *  MySpriteDrawFrame frame = screen.DrawFrame();
                 *
                 *
                 *  frame.Add(new MySprite(SpriteType.TEXTURE, "SquareSimple", new Vector2(0, 0), new Vector2(512, 512), Color.Black));
                 *  frame.Add(MySprite.CreateText("Ftiaxe Me!!!", "DEBUG", Color.White));
                 *  frame.Dispose();
                 */

                listener = igc.RegisterBroadcastListener(Settings.COMM_CHANNEL);
                listener = igc.RegisterBroadcastListener(Settings.COMM_CHANNEL);
                listener.SetMessageCallback(Settings.COMM_CHANNEL);
                thrusters = new ThrustersManager(this, control, system);

                autopilot = new Autopilot(this, control, FindBlockOfType <IMyGyro>(system, this));
                cas       = new CollisionAvoidanceSystem(this);
                fd        = new FlightDirector(this);

                if (connector.Status == MyShipConnectorStatus.Connected)
                {
                    flags = SpaceshipFlags.Dock;
                }
                else
                {
                    flags = SpaceshipFlags.Idle;
                }
            }
Example #5
0
        public void Setup()
        {
            _fakeTransponderReceiver = Substitute.For <ITransponderReceiver>();
            _fakeOutput     = Substitute.For <IOutput>();
            _fakeFileLogger = Substitute.For <IFileLogger>();
            _fakeLogger     = Substitute.For <ILogger>();

            _realAirspace = new Airspace(10000, 10000, 90000, 90000, 500, 20000);

            _realAirspace = new Airspace(10000, 10000, 90000, 90000, 500, 20000);
            _realDecoder  = new Decoder(_fakeTransponderReceiver);

            // UNDER TEST
            _realAmsController   = new AMSController(_realDecoder, _realAirspace);
            _realAvoidanceSystem = new CollisionAvoidanceSystem(_realAmsController, 5000, 300);
            //Tests will not work, if ConsoleOutput is not present.
            _realConsoleOutput = new ConsoleOutput(_realAmsController, _realAvoidanceSystem, _fakeOutput);

            _realAvoidanceSystem.SeparationEvent += (o, args) => { ++_nSeparationEvents; };
        }