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