def test_KnowledgeEngine_modify_retracts_and_declares(): from pyknow.engine import KnowledgeEngine from unittest.mock import patch ke = KnowledgeEngine() with patch('pyknow.factlist.FactList') as mock: with patch('pyknow.engine.KnowledgeEngine.declare') as declare_mock: ke.facts = mock ke.modify(False, False) assert mock.retract_matching.called assert declare_mock.called
def test_modify_retracts_and_declare(): from pyknow import KnowledgeEngine, Fact ke = KnowledgeEngine() f1 = ke.declare(Fact()) assert len(ke.facts) == 1 f2 = ke.modify(f1, _0='test_pos', key='test_key') assert f1 != f2 assert len(ke.facts) == 1 assert f2.__factid__ in ke.facts assert f2[0] == 'test_pos' assert f2['key'] == 'test_key'