def test_compile_6(): mdp = MDP() t1 = Transition("s0", "a0", "s1", 1, 0) mdp.add_transition(t1) mdp.add_terminal_state("s1") mdp.ensure_compiled() assert mdp.terminal_mask[mdp._state_dict["s1"]] == True assert mdp.terminal_mask[mdp._state_dict["s0"]] == False
def test_compile_4(): mdp = MDP() t1 = Transition("s0", "a0", "s1", 1, 0) mdp.add_transition(t1) with pytest.raises(ValueError): mdp.ensure_compiled() mdp.add_terminal_state("s1") mdp.ensure_compiled()
def test_compile_5(): mdp = MDP() t1 = Transition("s0", "a0", "s1", 1, 0) mdp.add_transition(t1) mdp.add_terminal_state("s1") mdp.ensure_compiled() assert mdp.compiled assert type(mdp.states) is tuple assert type(mdp.actions) is tuple assert type(mdp.terminal_states) is tuple mdp._decompile() assert not mdp.compiled assert type(mdp.states) is set assert type(mdp.actions) is set assert type(mdp.terminal_states) is set
def test_set_terminal(): mdp = MDP() t1 = Transition("s0", "a0", "s1", 0, 0) mdp.add_transition(t1) mdp.add_terminal_state("s0") assert len(mdp.states) == 2 assert len(mdp.actions) == 1 assert len(mdp.terminal_states) == 1 assert "s0" in mdp.terminal_states mdp.add_terminal_state("s4") assert len(mdp.states) == 3 assert len(mdp.terminal_states) assert "s4" in mdp.terminal_states assert "s4" in mdp.states