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.
		
		
		
		
			
				
					36 lines
				
				1.4 KiB
			
		
		
			
		
	
	
					36 lines
				
				1.4 KiB
			| 
											7 years ago
										 | import unittest
 | ||
|  | import random
 | ||
|  | 
 | ||
|  | from selfdrive.can.tests.packer_old import CANPacker as CANPackerOld
 | ||
|  | from selfdrive.can.packer import CANPacker
 | ||
|  | import selfdrive.car.chrysler.chryslercan as chryslercan
 | ||
|  | 
 | ||
|  | 
 | ||
|  | class TestPackerMethods(unittest.TestCase):
 | ||
|  |   def setUp(self):
 | ||
|  |     self.chrysler_cp_old = CANPackerOld("chrysler_pacifica_2017_hybrid")
 | ||
|  |     self.chrysler_cp = CANPacker("chrysler_pacifica_2017_hybrid")
 | ||
|  | 
 | ||
|  |   def test_correctness(self):
 | ||
|  |     # Test all commands, randomize the params.
 | ||
|  |     for _ in xrange(1000):
 | ||
|  |       gear = ('drive', 'reverse', 'low')[random.randint(0, 3) % 3]
 | ||
|  |       lkas_active = (random.randint(0, 2) % 2 == 0)
 | ||
|  |       hud_alert = random.randint(0, 6)
 | ||
|  |       hud_count = random.randint(0, 65536)
 | ||
|  |       lkas_car_model = random.randint(0, 65536)
 | ||
|  |       m_old = chryslercan.create_lkas_hud(self.chrysler_cp_old, gear, lkas_active, hud_alert, hud_count, lkas_car_model)
 | ||
|  |       m = chryslercan.create_lkas_hud(self.chrysler_cp, gear, lkas_active, hud_alert, hud_count, lkas_car_model)
 | ||
|  |       self.assertEqual(m_old, m)
 | ||
|  | 
 | ||
|  |       apply_steer = (random.randint(0, 2) % 2 == 0)
 | ||
|  |       moving_fast = (random.randint(0, 2) % 2 == 0)
 | ||
|  |       frame = random.randint(0, 65536)
 | ||
|  |       m_old = chryslercan.create_lkas_command(self.chrysler_cp_old, apply_steer, moving_fast, frame)
 | ||
|  |       m = chryslercan.create_lkas_command(self.chrysler_cp, apply_steer, moving_fast, frame)
 | ||
|  |       self.assertEqual(m_old, m)
 | ||
|  | 
 | ||
|  | 
 | ||
|  | if __name__ == "__main__":
 | ||
|  |   unittest.main()
 |