test_rules_utils.py 842 B

123456789101112131415161718192021
  1. from src.node import ExpressionNode as N
  2. from src.rules.utils import nary_node, least_common_multiple
  3. from tests.rulestestcase import RulesTestCase, tree
  4. class TestRulesUtils(RulesTestCase):
  5. def test_nary_node(self):
  6. a, b, c, d = tree('a,b,c,d')
  7. self.assertEqualNodes(nary_node('+', [a]), a)
  8. self.assertEqualNodes(nary_node('+', [a, b]), N('+', a, b))
  9. self.assertEqualNodes(nary_node('+', [a, b, c]),
  10. N('+', N('+', a, b), c))
  11. self.assertEqualNodes(nary_node('+', [a, b, c, d]),
  12. N('+', N('+', N('+', a, b), c), d))
  13. def test_least_common_multiple(self):
  14. self.assertEqual(least_common_multiple(5, 6), 30)
  15. self.assertEqual(least_common_multiple(5, 6, 15), 30)
  16. self.assertEqual(least_common_multiple(2, 4), 4)