示例#1
0
        public void PilotAssist()
        {
            this.controller1.CustomData = @"[pilot-assist]
      assist=true
      controllers=Controller 1
      sensitivity=5";
            var ini         = new Program.IniWatcher(this.controller1, this.spawner);
            var deactivator = new Program.MockDeactivator();

            var pa = new Program.PilotAssist(this.gts, ini, null, this.spawner, this.mockWheelsController);

            pa.AddDeactivator(deactivator);

            this.controller1.MoveIndicator = new VRageMath.Vector3(0, 0, 2);
            this.spawner.MockProcessTick();

            Assert.AreEqual(-0.4f, this.mockWheelsController.Power);
            Assert.AreEqual(0, this.mockWheelsController.Steer);

            this.controller1.MoveIndicator = new VRageMath.Vector3(4, 0, 0);
            this.spawner.MockProcessTick();

            Assert.AreEqual(0, this.mockWheelsController.Power);
            Assert.AreEqual(0.8f, this.mockWheelsController.Steer);

            deactivator.Deactivate = true;

            this.controller1.MoveIndicator = new VRageMath.Vector3(0, 0, 4);
            this.spawner.MockProcessTick();

            Assert.AreEqual(0, this.mockWheelsController.Power, "When deactivated, the controls are left as is");
            Assert.AreEqual(0.8f, this.mockWheelsController.Steer);
        }
示例#2
0
        public void AutoBrake()
        {
            this.controller1.CustomData = @"[pilot-assist]
      controllers=Controller 1";
            var ini         = new Program.IniWatcher(this.controller1, this.spawner);
            var handbraker  = new Program.MockBraker();
            var deactivator = new Program.MockDeactivator();

            var pa = new Program.PilotAssist(this.gts, ini, null, this.spawner, this.mockWheelsController);

            pa.AddBraker(handbraker);
            pa.AddDeactivator(deactivator);

            Assert.IsTrue(this.controller1.IsUnderControl);

            this.spawner.MockProcessTick();

            Assert.IsFalse(this.controller1.HandBrake);

            this.controller1.IsUnderControl = false;
            this.spawner.MockProcessTick();

            Assert.IsTrue(this.controller1.HandBrake);

            this.controller1.IsUnderControl = true;
            this.spawner.MockProcessTick();

            Assert.IsFalse(this.controller1.HandBrake);

            handbraker.Handbrake = true;
            this.spawner.MockProcessTick();

            Assert.IsTrue(this.controller1.HandBrake);

            deactivator.Deactivate = true;
            this.spawner.MockProcessTick();

            Assert.IsTrue(this.controller1.HandBrake, "When deactivated, the handbrake is neither engaged nor disengaged automatically");

            handbraker.Handbrake   = false;
            deactivator.Deactivate = false;
            this.spawner.MockProcessTick();

            Assert.IsFalse(this.controller1.HandBrake);

            handbraker.Handbrake            = true;
            deactivator.Deactivate          = true;
            this.controller1.IsUnderControl = false;
            this.spawner.MockProcessTick();

            Assert.IsFalse(this.controller1.HandBrake, "When deactivated, the handbrake is neither engaged nor disengaged automatically");
        }