示例#1
0
 def test_cannot_update_context_register_from_lists(self):
     left = Fact(
         predicate="$shooter shot $victim",
         terms=[Entity(name="Alice"), Entity(name="Bob")],
     )
     right = Fact(
         predicate="$shooter shot $victim",
         terms=[Entity(name="Craig"), Entity(name="Dan")],
     )
     update = left.update_context_register(
         right,
         context=[[Entity(name="Alice")], [Entity(name="Craig")]],
         comparison=means,
     )
     with pytest.raises(AttributeError):
         next(update)
示例#2
0
 def test_entity_consistency_identity_not_equality(self):
     left = Fact(
         predicate=Predicate(content="$shooter shot $victim"),
         terms=[Entity(name="Alice"),
                Entity(name="Bob")],
     )
     right = Fact(
         predicate=Predicate(content="$shooter shot $victim"),
         terms=[Entity(name="Craig"),
                Entity(name="Dan")],
     )
     register = ContextRegister.from_lists([Entity(name="Dan")],
                                           [Entity(name="Dan")])
     update = left.update_context_register(right,
                                           register,
                                           comparison=means)
     assert not any(register is not None for register in update)
示例#3
0
 def test_check_entity_consistency_type_error(self, make_entity,
                                              make_factor, make_predicate):
     """
     There would be no TypeError if it used "means"
     instead of .gt. The comparison would just return False.
     """
     right = Fact(
         predicate=Predicate(content="$shooter shot $victim"),
         terms=[Entity(name="Craig"),
                Entity(name="Dan")],
     )
     register = ContextRegister.from_lists([Entity(name="Dan")],
                                           [Entity(name="Dan")])
     update = right.update_context_register(
         right.predicate,
         register,
         operator.gt,
     )
     with pytest.raises(TypeError):
         any(register is not None for register in update)