def test_register_accepted_final_state(self, context: Context) -> None: """Test registering accepted final state and final state manipulation.""" context.count = 2 state1 = State(score=0.0) assert context.register_accepted_final_state(state1) is None assert state1 in context.iter_accepted_final_states() assert list(context.iter_accepted_final_states()) == [state1] state2 = State(score=1.0) assert context.register_accepted_final_state(state2) is None assert state1 in context.iter_accepted_final_states() assert state2 in context.iter_accepted_final_states() assert list( context.iter_accepted_final_states_sorted()) == [state2, state1] assert list(context.iter_accepted_final_states_sorted( reverse=True)) == [state2, state1] assert list(context.iter_accepted_final_states_sorted( reverse=False)) == [state1, state2] state3 = State(score=3.0) assert context.register_accepted_final_state(state3) is None assert state3 in context.iter_accepted_final_states_sorted() assert state2 in context.iter_accepted_final_states_sorted() assert list( context.iter_accepted_final_states_sorted()) == [state3, state2] assert list(context.iter_accepted_final_states_sorted( reverse=True)) == [state3, state2] assert list(context.iter_accepted_final_states_sorted( reverse=False)) == [state2, state3] state4 = State(score=2.0) assert context.register_accepted_final_state(state4) is None assert state3 in context.iter_accepted_final_states() assert state4 in context.iter_accepted_final_states() assert list( context.iter_accepted_final_states_sorted()) == [state3, state4] assert list(context.iter_accepted_final_states_sorted( reverse=True)) == [state3, state4] assert list(context.iter_accepted_final_states_sorted( reverse=False)) == [state4, state3] state5 = State(score=0.1) assert context.register_accepted_final_state(state5) is None assert state3 in context.iter_accepted_final_states() assert state4 in context.iter_accepted_final_states() assert list( context.iter_accepted_final_states_sorted()) == [state3, state4] assert list(context.iter_accepted_final_states_sorted( reverse=True)) == [state3, state4] assert list(context.iter_accepted_final_states_sorted( reverse=False)) == [state4, state3]
def test_get_top_accepted_final_state(self, context: Context) -> None: """Test retrieval of top accepted final state.""" context.count = 10 assert context.get_top_accepted_final_state() is None state1 = State(score=0.0) assert context.register_accepted_final_state(state1) is None assert context.get_top_accepted_final_state() is state1 state2 = State(score=1.0) assert context.register_accepted_final_state(state2) is None assert context.get_top_accepted_final_state() is state2 state3 = State(score=2.0) assert context.register_accepted_final_state(state3) is None assert context.get_top_accepted_final_state() is state3 state4 = State(score=0.5) assert context.register_accepted_final_state(state4) is None assert context.get_top_accepted_final_state() is state3