Esempio n. 1
0
def test_Agenda_get_next_adds_to_executed():
    from pyknow.agenda import Agenda
    from pyknow.rule import Rule
    from pyknow.activation import Activation
    from collections import deque

    act1 = Activation(rule=Rule(), facts=(1, ))
    act2 = Activation(rule=Rule(), facts=(2, ))
    
    a = Agenda()
    a.activations = deque([act1, act2])

    assert not act1 in a.executed
    assert not act2 in a.executed

    a.get_next()
    assert act1 in a.executed
    assert not act2 in a.executed

    a.get_next()
    assert act1 in a.executed
    assert act2 in a.executed