Переглянути джерело

Prettified division by zero exception.

Taddeus Kroes 14 роки тому
батько
коміт
8cc603ceea
2 змінених файлів з 4 додано та 3 видалено
  1. 1 2
      src/rules/fractions.py
  2. 3 1
      tests/test_rules_fractions.py

+ 1 - 2
src/rules/fractions.py

@@ -19,9 +19,8 @@ def match_constant_division(node):
     nominator, denominator = node
 
     # a / 0
-    # TODO: move to parser
     if denominator == 0:
-        raise ZeroDivisionError()
+        raise ZeroDivisionError('Division by zero: %s.' % node)
 
     # a / 1
     if denominator == 1:

+ 3 - 1
tests/test_rules_fractions.py

@@ -12,7 +12,9 @@ class TestRulesFractions(RulesTestCase):
         a, zero = tree('a,0')
 
         root = a / zero
-        self.assertRaises(ZeroDivisionError, match_constant_division, root)
+        with self.assertRaises(ZeroDivisionError) as cm:
+            match_constant_division(root)
+        self.assertEqual(cm.exception.message, 'Division by zero: a / 0.')
 
         root = a / 1
         possibilities = match_constant_division(root)