def METHOD_NAME(self):
    #
    # FORWARD_REVERSE_STOP mode will honor the
    # throttle completely; 
    # positive throttle being forward, increasing revolutions
    # negative throttle being reverse, decreasing revolutions
    # zero throttle being stopped; no change in revolutions
    #
    tachometer = MockTachometer(
        ticks_per_revolution=10, 
        direction_mode=EncoderMode.FORWARD_REVERSE_STOP)
    ts = time.time()
    revolutions, timestamp = tachometer.run(throttle=1, timestamp=ts)
    self.assertEqual(ts, timestamp)
    self.assertAlmostEqual(0.1, revolutions, 4)
    ts += 1  # add one second and one revolution
    revolutions, timestamp = tachometer.run(throttle=1, timestamp=ts)
    self.assertEqual(ts, timestamp)
    self.assertAlmostEqual(0.2, revolutions, 4)
    ts += 1  # add one second, but stopped
    revolutions, timestamp = tachometer.run(throttle=0, timestamp=ts)
    self.assertEqual(ts, timestamp)
    self.assertAlmostEqual(0.2, revolutions, 4)
    ts += 1  # add one second and reverse one revolution
    revolutions, timestamp = tachometer.run(throttle=-1, timestamp=ts)
    self.assertEqual(ts, timestamp)
    self.assertAlmostEqual(0.1, revolutions, 4) 
    ts += 1  # add one second, but stopped
    revolutions, timestamp = tachometer.run(throttle=0, timestamp=ts)
    self.assertEqual(ts, timestamp)
    self.assertAlmostEqual(0.1, revolutions, 4)