示例#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'))]))
示例#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)]))
示例#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')
示例#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)
示例#5
0
 def test_variable_rmul_number(self):
     self.assertEqual(3 * Variable('x'), Expression('3x'))
示例#6
0
 def test_variable_rsub_number(self):
     self.assertEqual(4 - Variable('x'), Expression('4 - x'))
示例#7
0
 def test_variable_radd_number(self):
     self.assertEqual(1 + Variable('x'), Expression('x + 1'))
示例#8
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))
示例#9
0
 def test_expression_with_multiple_not_equals_variable(self):
     e = Expression({ Variable('x'): 1, Variable('y'): 1 })
     self.assertNotEqual(e, Variable('x'))
示例#10
0
 def test_expression_with_offset_not_equals_variable(self):
     e = Expression({ Variable('x'): 1 }, 4)
     self.assertNotEqual(e, Variable('x'))
示例#11
0
 def test_expression_with_coefficient_not_equals_variable(self):
     e = Expression({ Variable('x'): 2 })
     self.assertNotEqual(e, Variable('x'))
示例#12
0
 def test_expression_equals_variable(self):
     e = Expression({ Variable('x'): 1 })
     self.assertEqual(e, Variable('x'))
示例#13
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)
示例#14
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)
示例#15
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)
示例#16
0
 def test_expression_parse_zero_coefficient(self):
     e = Expression('2x + 0y + 4')
     self.assertEqual(e, Expression({ Variable('x'): 2 }, 4))
示例#17
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 }))
示例#18
0
 def test_expression_with_no_variables_not_equals_number(self):
     self.assertNotEqual(Expression({}, -3), 3)
示例#19
0
 def test_expression_parse_large_coefficient(self):
     e = Expression('x + 4200y')
     self.assertEqual(e, Expression({ Variable('x'): 1, Variable('y'): 4200 }))
示例#20
0
 def test_expression_with_variables_not_equals_number(self):
     self.assertNotEqual(Expression({ Variable('x'): 1 }, 3), 3)
示例#21
0
 def test_variable_add_number(self):
     self.assertEqual(Variable('x') + 1, Expression('x + 1'))
示例#22
0
 def test_expression_parse(self):
     e = Expression('2x + 3')
     self.assertEqual(e, Expression({ Variable('x'): 2 }, 3))
示例#23
0
 def test_variable_sub_number(self):
     self.assertEqual(Variable('x') - 4, Expression('x - 4'))
示例#24
0
 def test_expression_parse_number(self):
     e = Expression('1')
     self.assertEqual(e, Expression({}, 1))
     self.assertEqual(e, 1)
示例#25
0
 def test_variable_mul_number(self):
     self.assertEqual(Variable('x') * 2, Expression('2x'))
示例#26
0
 def test_expression_parse_zero_offset(self):
     e = Expression('x + 4y + 0')
     self.assertEqual(e, Expression({ Variable('x'): 1, Variable('y'): 4 }))
示例#27
0
 def test_variable_neg(self):
     self.assertEqual(-Variable('x'), Expression('-x'))
示例#28
0
 def test_expression_parse_multiple_occurences(self):
     e = Expression('x + 4y + 2x')
     self.assertEqual(e, Expression({ Variable('x'): 3, Variable('y'): 4 }))
示例#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 }))
示例#30
0
 def test_expression_neg(self):
     e = Expression({ Variable('x'): 3, Variable('y'): -2 }, 4)
     self.assertEqual(-e, Expression('-3x + 2y - 4'))