You can not select more than 25 topics
			Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
		
		
		
		
			
				
					37 lines
				
				1.1 KiB
			
		
		
			
		
	
	
					37 lines
				
				1.1 KiB
			| 
											5 years ago
										 | #!/usr/bin/env python3
 | ||
|  | import json
 | ||
|  | import random
 | ||
|  | import unittest
 | ||
|  | 
 | ||
|  | import cereal.messaging as messaging
 | ||
|  | from common.params import Params
 | ||
|  | from selfdrive.locationd.calibrationd import Calibrator
 | ||
|  | 
 | ||
|  | 
 | ||
|  | class TestCalibrationd(unittest.TestCase):
 | ||
|  | 
 | ||
|  |   def test_read_saved_params_json(self):
 | ||
|  |     r = [random.random() for _ in range(3)]
 | ||
|  |     b = random.randint(1, 10)
 | ||
|  |     cal_params = {"calib_radians": r,
 | ||
|  |                   "valid_blocks": b}
 | ||
|  |     Params().put("CalibrationParams", json.dumps(cal_params).encode('utf8'))
 | ||
|  |     c = Calibrator(param_put=True)
 | ||
|  | 
 | ||
|  |     self.assertEqual(r, c.rpy)
 | ||
|  |     self.assertEqual(b, c.valid_blocks)
 | ||
|  | 
 | ||
|  |   def test_read_saved_params(self):
 | ||
|  |     msg = messaging.new_message('liveCalibration')
 | ||
|  |     msg.liveCalibration.validBlocks = random.randint(1, 10)
 | ||
|  |     msg.liveCalibration.rpyCalib = [random.random() for _ in range(3)]
 | ||
|  |     Params().put("CalibrationParams", msg.to_bytes())
 | ||
|  |     c = Calibrator(param_put=True)
 | ||
|  | 
 | ||
|  |     self.assertEqual(list(msg.liveCalibration.rpyCalib), c.rpy)
 | ||
|  |     self.assertEqual(msg.liveCalibration.validBlocks, c.valid_blocks)
 | ||
|  | 
 | ||
|  | 
 | ||
|  | if __name__ == "__main__":
 | ||
|  |   unittest.main()
 |