Example #1
0
 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)
Example #2
0
 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)
Example #3
0
 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)
Example #4
0
 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)
Example #5
0
 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)
Example #6
0
 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)
Example #7
0
 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)
Example #8
0
 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)
Example #9
0
 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)