def test_PropKB(): A, B, C = symbols('ABC') kb = PropKB() kb.tell(A >> B) kb.tell(B >> C) assert kb.ask(A) == True assert kb.ask(B) == True assert kb.ask(C) == True assert kb.ask(~A) == True assert kb.ask(~B) == True assert kb.ask(~C) == True kb.tell(A) assert kb.ask(A) == True assert kb.ask(B) == True assert kb.ask(C) == True assert kb.ask(~C) == False kb.retract(A) assert kb.ask(~C) == True kb2 = PropKB(Equivalent(A, B)) assert kb2.ask(A) == True assert kb2.ask(B) == True kb2.tell(A) assert kb2.ask(A) == True kb3 = PropKB() kb3.tell(A)
def test_propKB_tolerant(): """"tolerant to bad input""" kb = PropKB() A, B, C = symbols('ABC') assert kb.ask(B) == False