public void TurnSingle_LeftUp_Test() { movingHeads.Add(new MovingHead(new Shared.Models.Values.MHVelocity() { Factor = 0.7, ID = 0, Steps = 64, StepsBackOnStop = 3 }, 0, Check)); TransmitterMock t = new TransmitterMock(); Transmitter = t; TurnSingleStep(JSDirection.L | JSDirection.U, 0); Assert.AreEqual(2, t.TransmittedValues.Count); Assert.AreEqual(1, t.TransmittedValues[3]); // PAN_FINE (PAN without change) Assert.AreEqual(1, t.TransmittedValues[4]); // TILT_FINE (TILT without change) Assert.IsTrue(t.HasFlushed); t.HasFlushed = false; TurnSingleStep(JSDirection.L | JSDirection.U, 0); Assert.AreEqual(3, t.TransmittedValues[3]); // PAN_FINE (PAN without change) Assert.AreEqual(3, t.TransmittedValues[4]); // TILT_FINE (TILT without change) Assert.IsTrue(t.HasFlushed); t.HasFlushed = false; TurnSingleStep(JSDirection.L | JSDirection.U, 0); // +4 TurnSingleStep(JSDirection.L | JSDirection.U, 0); // +8 TurnSingleStep(JSDirection.L | JSDirection.U, 0); // +16 = 31 TurnSingleStep(JSDirection.L | JSDirection.U, 0); // +32 = 63 TurnSingleStep(JSDirection.L | JSDirection.U, 0); // +64 = 127 TurnSingleStep(JSDirection.L | JSDirection.U, 0); // +64 = 191 TurnSingleStep(JSDirection.L | JSDirection.U, 0); // +64 = 255 TurnSingleStep(JSDirection.L, 0); // +64 = (0x0140) Assert.AreEqual(3, t.TransmittedValues.Count); Assert.AreEqual(1, t.TransmittedValues[1]); // PAN_FINE Assert.AreEqual(0x3F, t.TransmittedValues[3]); // PAN_FINE Assert.AreEqual(0x7B, t.TransmittedValues[4]); // TILT_FINE (TILT without change) }
public void TurnSingleTest() { movingHeads.Add( new MovingHead( new Shared.Models.Values.MHVelocity() { Factor = 0.7, ID = 0, Steps = 16, StepsBackOnStop = 3 }, 0, Check)); TransmitterMock t = new TransmitterMock(); Transmitter = t; // Move one step down, starting at 0 means no movement because can't go further down! TurnSingleStep(JSDirection.D, 0); Assert.AreEqual(0, t.TransmittedValues.Count); Assert.IsTrue(t.HasFlushed); t.HasFlushed = false; TurnSingleStep(JSDirection.D, 0); Assert.IsTrue(t.HasFlushed); t.HasFlushed = false; }