Esempio n. 1
0
 def test_simplify_unary_and_number(self):
     node = Node(Operations.SIN,
         left=Node(Operations.NUMBER, value=0))
     result = node.simplify()
     self.assertEqual(result, True)
     self.assertEqual(node.left, None)
     self.assertEqual(node.value, 0.0)
Esempio n. 2
0
 def test_simplify_multiply_by_one_left(self):
     node = Node(Operations.MULTIPLICATION,
         left=Node(Operations.NUMBER, value=1),
         right=Node(Operations.IDENTITY, value='x'))
     result = node.simplify()
     self.assertEqual(result, True)
     self.assertEqual(node.operation, Operations.IDENTITY)
     self.assertEqual(node.value, 'x')
Esempio n. 3
0
 def test_simplify_identical_variables_division(self):
     node = Node(Operations.DIVISION,
         left=Node(Operations.IDENTITY, value='x'),
         right=Node(Operations.IDENTITY, value='x'))
     result = node.simplify()
     self.assertEqual(result, True)
     self.assertEqual(node.left, None)
     self.assertEqual(node.right, None)
     self.assertEqual(node.value, 1.0)
Esempio n. 4
0
 def test_simplify_two_numbers(self):
     node = Node(Operations.MINUS,
         left=Node(Operations.NUMBER, value=2),
         right=Node(Operations.NUMBER, value=2))
     result = node.simplify()
     self.assertEqual(result, True)
     self.assertEqual(node.left, None)
     self.assertEqual(node.right, None)
     self.assertEqual(node.value, 0.0)