def test_orientSensor(self): """Test method for sensor orientation""" print("Testing orientation of the sensor.") s = driver.instantiateSensor( [ "sampleRate=500", "sampleRateError=0", "rotationRate=500", "rotationRateError=0", "rangeOfMotion=50", "buff=2", "port=/dev/tty.usbserial-A702ZIQS", ] ) samplingPeriod = 1 / s.getSampleRate() orientation = 0 for i in range(s.getRangeOfMotion()): # Scan clockwise self.assertEqual(s.getOrientation(), i % s.getRangeOfMotion()) s.orientSensor() sleep(samplingPeriod) for i in range(s.getRangeOfMotion()): # Scan counter clockwise self.assertEqual(s.getOrientation(), s.getRangeOfMotion() - (i % s.getRangeOfMotion())) s.orientSensor() sleep(samplingPeriod)
def test_sample(self): """Test method for sensor sampling""" print("Testing sensor sampling.") r = driver.instantiateRover( [ "system=rover", "rotationSpeed=0", "forwardSpeed=1", "rotationSpeedError=2", "forwardSpeedError=3", "x=25", "y=25", "orientation=45", "port=/dev/tty.usbserial-A702ZKVY", ] ) s = driver.instantiateSensor( [ "sampleRate=500", "sampleRateError=0", "rotationRate=500", "rotationRateError=0", "rangeOfMotion=90", "buff=3", "port=/dev/tty.usbserial-A702ZIQS", ] ) foundRover = False while foundRover != True: foundRover = s.sample(r.getPosition()) # Check that the sensor is aimed within a 2 cm margin of the center of the rover. self.assertLessEqual(abs(s.getOrientation() - 45), 1) # 45 degrees is the correct orientation. r.setPosition(25, 50) foundRover = False while foundRover != True: foundRover = s.sample(r.getPosition()) # Check that the sensor is aimed within a 2 cm margin of the center of the rover. self.assertLessEqual(abs(s.getOrientation() - 63.5), 1) # 63.5 degrees is the correct orientation.
def test_instantiateSystems(self): """Test method for systems instantiation""" print("Testing instantiation of the systems.") r1 = driver.instantiateRover( [ "system=rover", "rotationSpeed=0", "forwardSpeed=1", "rotationSpeedError=2", "forwardSpeedError=3", "x=4", "y=5", "orientation=45", "port=/dev/tty.usbserial-A702ZKVY", ] ) s1 = driver.instantiateSensor( [ "sampleRate=0", "sampleRateError=1", "rotationRate=2", "rotationRateError=3", "rangeOfMotion=4", "buff=5", "port=/dev/tty.usbserial-A702ZIQS", ] ) r2, s2, c2 = driver.instantiateSystems("config1.txt") self.assertEqual(r1.getRotationSpeed(), r2.getRotationSpeed()) self.assertEqual(r1.getForwardSpeed(), r2.getForwardSpeed()) self.assertEqual(r1.getRotationSpeedError(), r2.getRotationSpeedError()) self.assertEqual(r1.getForwardSpeedError(), r2.getForwardSpeedError()) self.assertEqual(r1.getPosition()[0], r2.getPosition()[0]) self.assertEqual(r1.getPosition()[1], r2.getPosition()[1]) self.assertEqual(s1.getSampleRate(), s2.getSampleRate()) self.assertEqual(s1.getSampleRateError(), s2.getSampleRateError()) self.assertEqual(s1.getRotationRate(), s2.getRotationRate()) self.assertEqual(s1.getRotationRateError(), s2.getRotationRateError()) self.assertEqual(s1.getRangeOfMotion(), s2.getRangeOfMotion()) self.assertEqual(s1.getBuff(), s2.getBuff())
def test_instantiateSensor(self): """Test method for sensor instantiation""" print("Testing instantiation of the sensor.") s = driver.instantiateSensor( [ "sampleRate=0", "sampleRateError=1", "rotationRate=2", "rotationRateError=3", "rangeOfMotion=4", "buff=5", "port=/dev/tty.usbserial-A702ZIQS", ] ) self.assertEqual(s.getSampleRate(), 0) self.assertEqual(s.getSampleRateError(), 1) self.assertEqual(s.getRotationRate(), 2) self.assertEqual(s.getRotationRateError(), 3) self.assertEqual(s.getRangeOfMotion(), 4) self.assertEqual(s.getBuff(), 5)