parent
							
								
									fbbd4ee692
								
							
						
					
					
						commit
						3bc1b173d2
					
				
				 2 changed files with 65 additions and 5 deletions
			
			
		| @ -0,0 +1,56 @@ | |||||||
|  | from cereal import car | ||||||
|  | from openpilot.selfdrive.controls.lib.longcontrol import LongCtrlState, long_control_state_trans | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | class TestLongControlStateTransition: | ||||||
|  | 
 | ||||||
|  |   def test_stay_stopped(self): | ||||||
|  |     CP = car.CarParams.new_message() | ||||||
|  |     active = True | ||||||
|  |     current_state = LongCtrlState.stopping | ||||||
|  |     next_state = long_control_state_trans(CP, active, current_state, v_ego=0.1, | ||||||
|  |                              should_stop=True, brake_pressed=False, cruise_standstill=False) | ||||||
|  |     assert next_state == LongCtrlState.stopping | ||||||
|  |     next_state = long_control_state_trans(CP, active, current_state, v_ego=0.1, | ||||||
|  |                              should_stop=False, brake_pressed=True, cruise_standstill=False) | ||||||
|  |     assert next_state == LongCtrlState.stopping | ||||||
|  |     next_state = long_control_state_trans(CP, active, current_state, v_ego=0.1, | ||||||
|  |                              should_stop=False, brake_pressed=False, cruise_standstill=True) | ||||||
|  |     assert next_state == LongCtrlState.stopping | ||||||
|  |     next_state = long_control_state_trans(CP, active, current_state, v_ego=1.0, | ||||||
|  |                              should_stop=False, brake_pressed=False, cruise_standstill=False) | ||||||
|  |     assert next_state == LongCtrlState.pid | ||||||
|  |     active = False | ||||||
|  |     next_state = long_control_state_trans(CP, active, current_state, v_ego=1.0, | ||||||
|  |                              should_stop=False, brake_pressed=False, cruise_standstill=False) | ||||||
|  |     assert next_state == LongCtrlState.off | ||||||
|  | 
 | ||||||
|  | def test_engage(): | ||||||
|  |   CP = car.CarParams.new_message() | ||||||
|  |   active = True | ||||||
|  |   current_state = LongCtrlState.off | ||||||
|  |   next_state = long_control_state_trans(CP, active, current_state, v_ego=0.1, | ||||||
|  |                              should_stop=True, brake_pressed=False, cruise_standstill=False) | ||||||
|  |   assert next_state == LongCtrlState.stopping | ||||||
|  |   next_state = long_control_state_trans(CP, active, current_state, v_ego=0.1, | ||||||
|  |                              should_stop=False, brake_pressed=True, cruise_standstill=False) | ||||||
|  |   assert next_state == LongCtrlState.stopping | ||||||
|  |   next_state = long_control_state_trans(CP, active, current_state, v_ego=0.1, | ||||||
|  |                              should_stop=False, brake_pressed=False, cruise_standstill=True) | ||||||
|  |   assert next_state == LongCtrlState.stopping | ||||||
|  |   next_state = long_control_state_trans(CP, active, current_state, v_ego=0.1, | ||||||
|  |                              should_stop=False, brake_pressed=False, cruise_standstill=False) | ||||||
|  |   assert next_state == LongCtrlState.pid | ||||||
|  | 
 | ||||||
|  | def test_starting(): | ||||||
|  |   CP = car.CarParams.new_message(startingState=True, vEgoStarting=0.5) | ||||||
|  |   active = True | ||||||
|  |   current_state = LongCtrlState.starting | ||||||
|  |   next_state = long_control_state_trans(CP, active, current_state, v_ego=0.1, | ||||||
|  |                              should_stop=False, brake_pressed=False, cruise_standstill=False) | ||||||
|  |   assert next_state == LongCtrlState.starting | ||||||
|  |   next_state = long_control_state_trans(CP, active, current_state, v_ego=1.0, | ||||||
|  |                              should_stop=False, brake_pressed=False, cruise_standstill=False) | ||||||
|  |   assert next_state == LongCtrlState.pid | ||||||
					Loading…
					
					
				
		Reference in new issue