Ejemplo n.º 1
0
 def test_kegg_parse_with_count_expression(self):
     r = kegg.parse_reaction('2n C00404 + n C00001 <=> (n+1) C02174')
     self.assertEqual(
         r,
         Reaction(Reaction.Bidir, [(Compound('C00404'), Expression('2n')),
                                   (Compound('C00001'), Expression('n'))],
                  [(Compound('C02174'), Expression('n+1'))]))
Ejemplo n.º 2
0
 def test_kegg_parse_with_compound_argument(self):
     r = kegg.parse_reaction('C00039(n) <=> C00013 + C00039(n+1)')
     self.assertEqual(
         r,
         Reaction(Reaction.Bidir,
                  [(Compound('C00039', arguments=[Expression('n')]), 1)],
                  [(Compound('C00013'), 1),
                   (Compound('C00039', arguments=[Expression('n+1')]), 1)]))
Ejemplo n.º 3
0
 def test_expression_to_str(self):
     e = Expression({
         Variable('x1'): -2,
         Variable('pi'): 5,
         Variable('x2'): -3
     })
     self.assertEqual(str(e), '5pi - 2x1 - 3x2')
Ejemplo n.º 4
0
 def test_expression_equals_expression(self):
     e1 = Expression({ Variable('x'): 2, Variable('y'): 5 })
     e2 = Expression({ Variable('y'): 5, Variable('x'): 2 })
     self.assertEqual(e1, e2)
Ejemplo n.º 5
0
 def test_expression_substitute_with_variable(self):
     e = Expression({ Variable('x'): 1, Variable('y'): 2 })
     self.assertEquals(e.substitute(lambda v: {'y': Variable('x')}.get(v.symbol, v)), Expression('3x'))
Ejemplo n.º 6
0
 def test_expression_substitute_with_expression_is_atomic(self):
     e = Expression({ Variable('x'): 1, Variable('y'): 1 })
     es = e.substitute(lambda v: {'x': Expression('x + y'),
                                  'y': Expression('x + y') }.get(v.symbol, v))
     self.assertEquals(es, Expression('2x + 2y'))
Ejemplo n.º 7
0
 def test_expression_not_equals_same_variables(self):
     e1 = Expression({ Variable('x'): 2, Variable('y'): 5 })
     e2 = Expression({ Variable('y'): 2, Variable('x'): -5 })
     self.assertNotEqual(e1, e2)
Ejemplo n.º 8
0
 def test_expression_substitute_unknown_to_variable(self):
     e = Expression({ Variable('x'): 1 })
     self.assertEquals(e.substitute(lambda v: v), Variable('x'))
Ejemplo n.º 9
0
 def test_expression_not_equals_with_offset(self):
     e1 = Expression({ Variable('x'): 2, Variable('y'): 5 }, 4)
     e2 = Expression({ Variable('y'): 5, Variable('x'): 2 })
     self.assertNotEqual(e1, e2)
Ejemplo n.º 10
0
 def test_variable_neg(self):
     self.assertEqual(-Variable('x'), Expression('-x'))
Ejemplo n.º 11
0
 def test_variable_add_number(self):
     self.assertEqual(Variable('x') + 1, Expression('x + 1'))
Ejemplo n.º 12
0
 def test_variable_sub_number(self):
     self.assertEqual(Variable('x') - 4, Expression('x - 4'))
Ejemplo n.º 13
0
 def test_expression_with_multiple_not_equals_variable(self):
     e = Expression({ Variable('x'): 1, Variable('y'): 1 })
     self.assertNotEqual(e, Variable('x'))
Ejemplo n.º 14
0
 def test_expression_with_no_variables_not_equals_number(self):
     self.assertNotEqual(Expression({}, -3), 3)
Ejemplo n.º 15
0
 def test_expression_with_offset_not_equals_variable(self):
     e = Expression({ Variable('x'): 1 }, 4)
     self.assertNotEqual(e, Variable('x'))
Ejemplo n.º 16
0
 def test_expression_with_coefficient_not_equals_variable(self):
     e = Expression({ Variable('x'): 2 })
     self.assertNotEqual(e, Variable('x'))
Ejemplo n.º 17
0
 def test_expression_equals_variable(self):
     e = Expression({ Variable('x'): 1 })
     self.assertEqual(e, Variable('x'))
Ejemplo n.º 18
0
 def test_expression_parse_large_coefficient(self):
     e = Expression('x + 4200y')
     self.assertEqual(e, Expression({ Variable('x'): 1, Variable('y'): 4200 }))
Ejemplo n.º 19
0
 def test_variable_mul_number(self):
     self.assertEqual(Variable('x') * 2, Expression('2x'))
Ejemplo n.º 20
0
 def test_expression_with_variables_not_equals_number(self):
     self.assertNotEqual(Expression({ Variable('x'): 1 }, 3), 3)
Ejemplo n.º 21
0
 def test_expression_not_equals_diffrent_variables(self):
     e1 = Expression({ Variable('x'): 2, Variable('y'): 5 })
     e2 = Expression({ Variable('y'): 2, Variable('x'): -5, Variable('z'): 1 })
     self.assertNotEqual(e1, e2)
Ejemplo n.º 22
0
 def test_variable_radd_number(self):
     self.assertEqual(1 + Variable('x'), Expression('x + 1'))
Ejemplo n.º 23
0
 def test_expression_parse(self):
     e = Expression('2x + 3')
     self.assertEqual(e, Expression({ Variable('x'): 2 }, 3))
Ejemplo n.º 24
0
 def test_variable_rsub_number(self):
     self.assertEqual(4 - Variable('x'), Expression('4 - x'))
Ejemplo n.º 25
0
 def test_expression_parse_number(self):
     e = Expression('1')
     self.assertEqual(e, Expression({}, 1))
     self.assertEqual(e, 1)
Ejemplo n.º 26
0
 def test_variable_rmul_number(self):
     self.assertEqual(3 * Variable('x'), Expression('3x'))
Ejemplo n.º 27
0
 def test_expression_parse_zero_offset(self):
     e = Expression('x + 4y + 0')
     self.assertEqual(e, Expression({ Variable('x'): 1, Variable('y'): 4 }))
Ejemplo n.º 28
0
 def test_expression_parse_multiple_occurences(self):
     e = Expression('x + 4y + 2x')
     self.assertEqual(e, Expression({ Variable('x'): 3, Variable('y'): 4 }))
Ejemplo n.º 29
0
 def test_expression_parse_negative_coefficient(self):
     e = Expression('-x + 4y - 3z')
     self.assertEqual(e, Expression({ Variable('x'): -1, Variable('y'): 4, Variable('z'): -3 }))
Ejemplo n.º 30
0
 def test_expression_substitute_existing(self):
     e = Expression({ Variable('x'): 2 }, 1)
     self.assertEquals(e.substitute(lambda v: {'x': 2}.get(v.symbol, v)), 5)
Ejemplo n.º 31
0
 def test_expression_parse_zero_coefficient(self):
     e = Expression('2x + 0y + 4')
     self.assertEqual(e, Expression({ Variable('x'): 2 }, 4))
Ejemplo n.º 32
0
 def test_expression_substitute_unknown_to_expression(self):
     e = Expression({ Variable('x'): 2 }, 1)
     self.assertEquals(e.substitute(lambda v: v), Expression('2x + 1'))
Ejemplo n.º 33
0
 def test_expression_parse_long_variable_symbols(self):
     e = Expression('-2x1 + 5pi - 3x2')
     self.assertEqual(e, Expression({ Variable('x1'): -2, Variable('pi'): 5, Variable('x2'): -3 }))
Ejemplo n.º 34
0
 def test_expression_substitute_with_expression(self):
     e = Expression({ Variable('x'): 3, Variable('y'): -2 })
     es = e.substitute(lambda v: {'x': Expression('y + 2z')}.get(v.symbol, v))
     self.assertEquals(es, Expression('y + 6z'))
Ejemplo n.º 35
0
 def test_expression_parse_no_space(self):
     e = Expression('x+3f+6h+10')
     self.assertEqual(e, Expression({ Variable('x'): 1, Variable('f'): 3, Variable('h'): 6 }, 10))
Ejemplo n.º 36
0
 def test_expression_variables(self):
     e = Expression({ Variable('x'): 1, Variable('y'): 2 })
     self.assertEquals(sorted(e.variables()), [Variable('x'), Variable('y')])
Ejemplo n.º 37
0
 def test_expression_neg(self):
     e = Expression({ Variable('x'): 3, Variable('y'): -2 }, 4)
     self.assertEqual(-e, Expression('-3x + 2y - 4'))