Exemplo n.º 1
0
    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]
Exemplo n.º 2
0
    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