Example #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'))]))
Example #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)]))
Example #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')
Example #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)
 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'))
 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'))
Example #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)
 def test_expression_substitute_unknown_to_variable(self):
     e = Expression({ Variable('x'): 1 })
     self.assertEquals(e.substitute(lambda v: v), Variable('x'))
Example #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)
Example #10
0
 def test_variable_neg(self):
     self.assertEqual(-Variable('x'), Expression('-x'))
Example #11
0
 def test_variable_add_number(self):
     self.assertEqual(Variable('x') + 1, Expression('x + 1'))
Example #12
0
 def test_variable_sub_number(self):
     self.assertEqual(Variable('x') - 4, Expression('x - 4'))
Example #13
0
 def test_expression_with_multiple_not_equals_variable(self):
     e = Expression({ Variable('x'): 1, Variable('y'): 1 })
     self.assertNotEqual(e, Variable('x'))
Example #14
0
 def test_expression_with_no_variables_not_equals_number(self):
     self.assertNotEqual(Expression({}, -3), 3)
Example #15
0
 def test_expression_with_offset_not_equals_variable(self):
     e = Expression({ Variable('x'): 1 }, 4)
     self.assertNotEqual(e, Variable('x'))
Example #16
0
 def test_expression_with_coefficient_not_equals_variable(self):
     e = Expression({ Variable('x'): 2 })
     self.assertNotEqual(e, Variable('x'))
Example #17
0
 def test_expression_equals_variable(self):
     e = Expression({ Variable('x'): 1 })
     self.assertEqual(e, Variable('x'))
Example #18
0
 def test_expression_parse_large_coefficient(self):
     e = Expression('x + 4200y')
     self.assertEqual(e, Expression({ Variable('x'): 1, Variable('y'): 4200 }))
Example #19
0
 def test_variable_mul_number(self):
     self.assertEqual(Variable('x') * 2, Expression('2x'))
Example #20
0
 def test_expression_with_variables_not_equals_number(self):
     self.assertNotEqual(Expression({ Variable('x'): 1 }, 3), 3)
Example #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)
Example #22
0
 def test_variable_radd_number(self):
     self.assertEqual(1 + Variable('x'), Expression('x + 1'))
Example #23
0
 def test_expression_parse(self):
     e = Expression('2x + 3')
     self.assertEqual(e, Expression({ Variable('x'): 2 }, 3))
Example #24
0
 def test_variable_rsub_number(self):
     self.assertEqual(4 - Variable('x'), Expression('4 - x'))
Example #25
0
 def test_expression_parse_number(self):
     e = Expression('1')
     self.assertEqual(e, Expression({}, 1))
     self.assertEqual(e, 1)
Example #26
0
 def test_variable_rmul_number(self):
     self.assertEqual(3 * Variable('x'), Expression('3x'))
Example #27
0
 def test_expression_parse_zero_offset(self):
     e = Expression('x + 4y + 0')
     self.assertEqual(e, Expression({ Variable('x'): 1, Variable('y'): 4 }))
Example #28
0
 def test_expression_parse_multiple_occurences(self):
     e = Expression('x + 4y + 2x')
     self.assertEqual(e, Expression({ Variable('x'): 3, Variable('y'): 4 }))
Example #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 }))
 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)
Example #31
0
 def test_expression_parse_zero_coefficient(self):
     e = Expression('2x + 0y + 4')
     self.assertEqual(e, Expression({ Variable('x'): 2 }, 4))
 def test_expression_substitute_unknown_to_expression(self):
     e = Expression({ Variable('x'): 2 }, 1)
     self.assertEquals(e.substitute(lambda v: v), Expression('2x + 1'))
Example #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 }))
 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'))
Example #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))
 def test_expression_variables(self):
     e = Expression({ Variable('x'): 1, Variable('y'): 2 })
     self.assertEquals(sorted(e.variables()), [Variable('x'), Variable('y')])
Example #37
0
 def test_expression_neg(self):
     e = Expression({ Variable('x'): 3, Variable('y'): -2 }, 4)
     self.assertEqual(-e, Expression('-3x + 2y - 4'))