Пример #1
0
        public void JogScopeSecondaryTest()
        {
            IRate[]  rateArr  = GetAxisRateArrayFromService(TelescopeAxes.axisSecondary);
            JogRates jogRates = JogRates.FromAxisRates(rateArr);

            Assert.IsTrue(jogRates.Count > 0);

            // Start moving the scope to the north.

            _mgr.StartJogScope(MoveDirections.North, jogRates[0]);

            double actualRate = _svc.MockMoveAxisRates.Y;

            Assert.AreEqual(jogRates[0].Rate, actualRate);

            _mgr.StopJogScope(MoveDirections.North);

            actualRate = _svc.MockMoveAxisRates.Y;
            Assert.AreEqual(0.0, actualRate);

            // Start moving the scope to the south.

            _mgr.StartJogScope(MoveDirections.South, jogRates[0]);

            actualRate = _svc.MockMoveAxisRates.Y;
            Assert.AreEqual(jogRates[0].Rate, actualRate * -1);

            _mgr.StopJogScope(MoveDirections.South);

            actualRate = _svc.MockMoveAxisRates.Y;
            Assert.AreEqual(0.0, actualRate);
        }
Пример #2
0
        public void JogScopePrimaryTest()
        {
            IRate[]  rateArr  = GetAxisRateArrayFromService(TelescopeAxes.axisPrimary);
            JogRates jogRates = JogRates.FromAxisRates(rateArr);

            Assert.IsTrue(jogRates.Count > 0);

            // Start moving the scope to the west.

            _mgr.StartJogScope(MoveDirections.West, jogRates[0]);

            double actualRate = _svc.MockMoveAxisRates.X;

            Assert.AreEqual(jogRates[0].Rate, actualRate);

            _mgr.StopJogScope(MoveDirections.West);

            actualRate = _svc.MockMoveAxisRates.X;
            Assert.AreEqual(0.0, actualRate);

            // Start moving the scope to the east.

            _mgr.StartJogScope(MoveDirections.East, jogRates[0]);

            actualRate = _svc.MockMoveAxisRates.X;
            Assert.AreEqual(jogRates[0].Rate, actualRate * -1);

            _mgr.StopJogScope(MoveDirections.East);

            actualRate = _svc.MockMoveAxisRates.X;
            Assert.AreEqual(0.0, actualRate);
        }
Пример #3
0
        public void DefaultJogRatesTest()
        {
            JogRates defaults = JogRates.DefaultJogRates();

            Assert.AreEqual <int>(3, defaults.Count);
            Assert.AreEqual(16 * _siderealRate, defaults[0].Rate, 0.00001);
            Assert.AreEqual(64 * _siderealRate, defaults[1].Rate, 0.00001);
            Assert.AreEqual(2.0, defaults[2].Rate);
        }
Пример #4
0
        public void FromAxisRatesTest()
        {
            // Test that the default rates are used when they are in the min-max range.

            JogRates expected = JogRates.DefaultJogRates();

            List <AxisRate> rateList = new List <AxisRate> {
                new AxisRate(0.0, 5.0)
            };

            IRate[] axisRates = rateList.ToArray <IRate>();

            JogRates jogRates = JogRates.FromAxisRates(axisRates);

            Assert.AreEqual <int>(expected.Count, jogRates.Count);

            for (int n = 0; n < expected.Count; ++n)
            {
                Assert.AreEqual(expected[n].Rate, jogRates[n].Rate);
            }

            // Test multiple ranges like the simulator.
            // Jog rates should be in the middle of each range.

            rateList = new List <AxisRate> {
                new AxisRate(0.0, 1.67)
                , new AxisRate(2.5, 5.0)
            };
            axisRates = rateList.ToArray <IRate>();

            jogRates = JogRates.FromAxisRates(axisRates);

            Assert.AreEqual <int>(2, jogRates.Count);
            Assert.AreEqual <double>(0.835, jogRates[0].Rate);
            Assert.AreEqual <double>(3.75, jogRates[1].Rate);

            // Test a set of discrete axis rates (where the min and max for each rate are the same).

            rateList = new List <AxisRate> {
                new AxisRate(0.25, 0.25)
                , new AxisRate(0.75, 0.75)
                , new AxisRate(1.5, 1.5)
                , new AxisRate(3.0, 3.0)
            };
            axisRates = rateList.ToArray <IRate>();

            jogRates = JogRates.FromAxisRates(axisRates);

            Assert.AreEqual <int>(4, jogRates.Count);
            Assert.AreEqual <double>(0.25, jogRates[0].Rate);
            Assert.AreEqual <double>(0.75, jogRates[1].Rate);
            Assert.AreEqual <double>(1.5, jogRates[2].Rate);
            Assert.AreEqual <double>(3.0, jogRates[3].Rate);
        }