| 12345678910111213141516171819202122232425262728293031323334 |
- from src.rules.fractions import match_constant_division, division_by_one, \
- division_of_zero
- from src.possibilities import Possibility as P
- from tests.test_rules_poly import tree
- from tests.rulestestcase import RulesTestCase
- class TestRulesFractions(RulesTestCase):
- def test_match_constant_division(self):
- a, zero = tree('a,0')
- root = a / zero
- self.assertRaises(ZeroDivisionError, match_constant_division, root)
- root = a / 1
- possibilities = match_constant_division(root)
- self.assertEqualPos(possibilities, [P(root, division_by_one, (a,))])
- root = zero / a
- possibilities = match_constant_division(root)
- self.assertEqualPos(possibilities, [P(root, division_of_zero)])
- def test_division_by_one(self):
- a = tree('a')
- root = a / 1
- self.assertEqualNodes(division_by_one(root, (a,)), a)
- def test_division_of_zero(self):
- a, zero = tree('a,0')
- root = zero / a
- self.assertEqualNodes(division_of_zero(root, ()), zero)
|