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.
		
		
		
		
		
			
		
			
				
					
					
						
							25 lines
						
					
					
						
							976 B
						
					
					
				
			
		
		
	
	
							25 lines
						
					
					
						
							976 B
						
					
					
				from cereal import car
 | 
						|
from openpilot.selfdrive.locationd.torqued import TorqueEstimator
 | 
						|
 | 
						|
 | 
						|
def test_cal_percent():
 | 
						|
  est = TorqueEstimator(car.CarParams())
 | 
						|
  msg = est.get_msg()
 | 
						|
  assert msg.liveTorqueParameters.calPerc == 0
 | 
						|
 | 
						|
  for (low, high), min_pts in zip(est.filtered_points.buckets.keys(),
 | 
						|
                                  est.filtered_points.buckets_min_points.values(), strict=True):
 | 
						|
    for _ in range(int(min_pts)):
 | 
						|
      est.filtered_points.add_point((low + high) / 2.0, 0.0)
 | 
						|
 | 
						|
  # enough bucket points, but not enough total points
 | 
						|
  msg = est.get_msg()
 | 
						|
  assert msg.liveTorqueParameters.calPerc == (len(est.filtered_points) / est.min_points_total * 100 + 100) / 2
 | 
						|
 | 
						|
  # add enough points to bucket with most capacity
 | 
						|
  key = list(est.filtered_points.buckets)[0]
 | 
						|
  for _ in range(est.min_points_total - len(est.filtered_points)):
 | 
						|
    est.filtered_points.add_point((key[0] + key[1]) / 2.0, 0.0)
 | 
						|
 | 
						|
  msg = est.get_msg()
 | 
						|
  assert msg.liveTorqueParameters.calPerc == 100
 | 
						|
 |