public void StartSlew_ThrowsIfNotStarted()
        {
            var fakeTelescope = new FakeTelescope();

            fakeTelescope.SiderealTime = TimeSpan.FromHours(3).TotalHours;
            var controller = new RAAxisController(fakeTelescope);

            controller.StartSlew(Orientation.Plus);
        }
        public void StartStopSlew_Minus_SetsSlewing()
        {
            var fakeTelescope = new FakeTelescope();

            fakeTelescope.SiderealTime = TimeSpan.FromHours(3).TotalHours;
            var controller = new RAAxisController(fakeTelescope);

            controller.Connect();

            controller.StartSlew(Orientation.Minus);

            Assert.IsTrue(controller.Slewing);

            controller.StopSlew();

            Assert.IsFalse(controller.Slewing);
        }
        public void StartStopSlew_Minus_SetsSlewRate()
        {
            var fakeTelescope = new FakeTelescope();

            fakeTelescope.SiderealTime = TimeSpan.FromHours(3).TotalHours;
            var controller = new RAAxisController(fakeTelescope);

            controller.Connect();

            controller.StartSlew(Orientation.Minus);

            Assert.AreEqual(-8, controller.SlewRate);

            controller.StopSlew();

            Assert.AreEqual(1, controller.SlewRate);
        }