def test_single_terminal_state(): s = Road(headlight_range=2, car=Car(2, 0), obstacles=[Pedestrian(-1, -1, speed=1, prob_of_appearing=0.13)], allowed_obstacle_appearance_columns=[{1}]) info, _ = s.safety_information() '''s X a X s X measurement''' info = np.array(info) terminal_states, sp = np.where(info[:, NO_OP, :, 0] == 1) assert np.all(terminal_states == sp) assert len(terminal_states) == 1
def test_safety_information(): patient = Road(headlight_range=1, car=Car(2, 0), obstacles=[Bump(-1, -1)]) counts, state_indices = patient.safety_information() counts = np.array(counts) assert len(counts.shape) == 4 assert counts.shape[0] == len(state_indices) assert counts.shape[1] == len(ACTIONS) assert counts.shape[2] == len(state_indices) assert counts.shape[3] == 7