コード例 #1
0
ファイル: test_mdp.py プロジェクト: s2133934/RL_coursework_21
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
コード例 #2
0
ファイル: test_mdp.py プロジェクト: s2133934/RL_coursework_21
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()
コード例 #3
0
ファイル: test_mdp.py プロジェクト: s2133934/RL_coursework_21
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
コード例 #4
0
ファイル: test_mdp.py プロジェクト: s2133934/RL_coursework_21
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