示例#1
0
    def test_target_tolerances_no_return(self):
        control = Control()

        result = control.target_tolerances(0)
        self.assertIsNone(result)

        result = control.target_tolerances(0, 0)
        self.assertIsNone(result)
示例#2
0
    def test_target_tolerances_return(self):
        control = Control()

        result = control.target_tolerances()
        self.assertIsInstance(result, tuple)
        self.assertEqual(2, len(result))
        self.assertIsInstance(result[0], int)
        self.assertIsInstance(result[1], int)
        self.assertEqual(0, result[0])
        self.assertEqual(0, result[1])
示例#3
0
    def test_limits_no_return(self):
        control = Control()

        result = control.limits(0)
        self.assertIsNone(result)

        result = control.limits(0, 0)
        self.assertIsNone(result)

        result = control.limits(0, 0, 0)
        self.assertIsNone(result)
示例#4
0
    def test_limits_return(self):
        control = Control()

        result = control.limits()
        self.assertIsInstance(result, tuple)
        self.assertEqual(3, len(result))
        self.assertIsInstance(result[0], int)
        self.assertIsInstance(result[1], int)
        self.assertIsInstance(result[2], int)
        self.assertEqual(0, result[0])
        self.assertEqual(0, result[1])
        self.assertEqual(0, result[2])
示例#5
0
 def __init__(self,
              port: Port,
              positive_direction: Direction = Direction.CLOCKWISE,
              gears: Union[List[int], List[List[int]]] = None):
     if port == Port.S1 or port == Port.S2 or port == port.S3 or port == port.S4:
         raise ValueError("Motors must use Port A, B, C, or D.")
     self.control = Control()  # type: Control
示例#6
0
    def test_pid_return(self):
        control = Control()

        result = control.pid()
        self.assertIsInstance(result, tuple)
        self.assertEqual(6, len(result))
        self.assertIsInstance(result[0], int)
        self.assertIsInstance(result[1], int)
        self.assertIsInstance(result[2], int)
        self.assertIsInstance(result[3], int)
        self.assertIsInstance(result[4], int)
        self.assertIsInstance(result[5], int)
        self.assertEqual(0, result[0])
        self.assertEqual(0, result[1])
        self.assertEqual(0, result[2])
        self.assertEqual(0, result[3])
        self.assertEqual(0, result[4])
        self.assertEqual(0, result[5])
示例#7
0
    def test_pid_no_return(self):
        control = Control()

        result = control.pid(0)
        self.assertIsNone(result)

        result = control.pid(0, 0)
        self.assertIsNone(result)

        result = control.pid(0, 0, 0)
        self.assertIsNone(result)

        result = control.pid(0, 0, 0, 0)
        self.assertIsNone(result)

        result = control.pid(0, 0, 0, 0, 0)
        self.assertIsNone(result)

        result = control.pid(0, 0, 0, 0, 0, 0)
        self.assertIsNone(result)
示例#8
0
 def test_done(self):
     control = Control()
     result = control.done()
     self.assertIsInstance(result, bool)
     self.assertFalse(result)
示例#9
0
 def test_scale_is_float(self):
     control = Control()
     self.assertIsInstance(control.scale, float)
示例#10
0
 def test_stalled(self):
     control = Control()
     result = control.stalled()
     self.assertIsInstance(result, bool)
     self.assertFalse(result)
示例#11
0
 def __init__(self, left_motor: Motor, right_motor: Motor,
              wheel_diameter: int, axle_track: int):
     self.distance_control = Control()  # type: Control
     self.heading_control = Control()  # type: Control