def test_no_contradiction_irrelevant_quantities(self): more_cows = Comparison( content="the number of cows $person owned was", sign=">", expression=10, ) fewer_horses = Comparison( content="the number of horses $person owned was", sign="<", expression=3, ) assert not more_cows.contradicts(fewer_horses) assert not fewer_horses.contradicts(more_cows)
def test_no_contradiction_date_and_time_period(self): later = Comparison( content="the date $dentist became a licensed dentist was", sign=">", expression=date(2010, 1, 1), ) earlier = Comparison( content="the date $dentist became a licensed dentist was", sign="<", expression="2000 years", ) assert not later.contradicts(earlier) assert not earlier.contradicts(later)
def test_contradictory_date_ranges(self): later = Comparison( content="the date $dentist became a licensed dentist was", sign=">", expression=date(2010, 1, 1), ) earlier = Comparison( content="the date $dentist became a licensed dentist was", sign="<", expression=date(1990, 1, 1), ) assert later.contradicts(earlier) assert earlier.contradicts(later)
def test_no_contradiction_without_truth_value(self): later = Comparison( content="the date $dentist became a licensed dentist was", sign=">", expression=date(2010, 1, 1), truth=None, ) earlier = Comparison( content="the date $dentist became a licensed dentist was", sign="<", expression=date(1990, 1, 1), ) assert not later.contradicts(earlier) assert not earlier.contradicts(later)
def test_reuse_quantity_range_for_contradiction(self): dogs = Comparison(content="the number of dogs was", sign=">", expression=3) cats = Comparison( content="the number of cats was", quantity_range=dogs.quantity_range ) fewer_cats = Comparison( content="the number of cats was", sign="<", expression=3 ) assert cats.contradicts(fewer_cats)
def test_no_contradiction_of_predicate(self): more_cows = Comparison( content="the number of cows $person owned was", sign=">", expression=10, ) no_cows = Predicate(content="the number of cows $person owned was", truth=False) assert not more_cows.contradicts(no_cows) assert not no_cows.contradicts(more_cows)
def test_no_contradiction_inconsistent_dimensions(self): equal = Comparison( content="${defendant}'s sentence was", sign="=", expression="8 years" ) less = Comparison( content="${defendant}'s sentence was", sign="<=", expression="10 parsecs" ) assert not equal.contradicts(less) assert not equal.implies(less)
def test_no_contradiction_exact_different_unit(self): acres = Comparison( content="the size of the farm was", sign=">", expression=Q_("20 acres") ) kilometers = Comparison( content="the size of the farm was", sign="=", expression=Q_("100 square kilometers"), ) assert not acres.contradicts(kilometers)
def test_comparison_implies_predicate_false(self): distance = Comparison( content="the distance between $place1 and $place2 was", sign=">", expression="20 miles", ) predicate = Predicate(content="the distance between $place1 and $place2 was") assert not distance.implies(predicate) assert not distance.contradicts(predicate) assert not predicate.contradicts(distance)