| 12345678910111213141516171819202122232425262728293031323334353637383940 |
- from src.rules.derivatives import get_derivation_variable, \
- match_constant_derivative, one_derivative, zero_derivative
- from src.possibilities import Possibility as P
- from tests.rulestestcase import RulesTestCase, tree
- class TestRulesDerivatives(RulesTestCase):
- def test_get_derivation_variable(self):
- xy, x, l1 = tree('der(xy, x), der(x), der(1)')
- self.assertEqual(get_derivation_variable(xy), 'x')
- self.assertEqual(get_derivation_variable(x), 'x')
- self.assertIsNone(get_derivation_variable(l1))
- self.assertRaises(ValueError, tree, 'der(xy)')
- def test_match_constant_derivative(self):
- root = tree('der(x)')
- self.assertEqualPos(match_constant_derivative(root),
- [P(root, one_derivative, ())])
- root = tree('der(x, x)')
- self.assertEqualPos(match_constant_derivative(root),
- [P(root, one_derivative, ())])
- root = tree('der(x, y)')
- self.assertEqualPos(match_constant_derivative(root),
- [P(root, zero_derivative, ())])
- root = tree('der(2)')
- self.assertEqualPos(match_constant_derivative(root),
- [P(root, zero_derivative, ())])
- def test_one_derivative(self):
- root = tree('der(x)')
- self.assertEqual(one_derivative(root, ()), 1)
- def test_zero_derivative(self):
- root = tree('der(1)')
- self.assertEqual(zero_derivative(root, ()), 0)
|