1# 2# @file TestReadFromFile7.py 3# @brief Reads test-data/l2v3-all.xml into memory and tests it. 4# 5# @author Akiya Jouraku (Python conversion) 6# @author Sarah Keating 7# 8# ====== WARNING ===== WARNING ===== WARNING ===== WARNING ===== WARNING ====== 9# 10# DO NOT EDIT THIS FILE. 11# 12# This file was generated automatically by converting the file located at 13# src/sbml/test/TestReadFromFile7.cpp 14# using the conversion program dev/utilities/translateTests/translateTests.pl. 15# Any changes made here will be lost the next time the file is regenerated. 16# 17# ----------------------------------------------------------------------------- 18# This file is part of libSBML. Please visit http://sbml.org for more 19# information about SBML, and the latest version of libSBML. 20# 21# Copyright 2005-2010 California Institute of Technology. 22# Copyright 2002-2005 California Institute of Technology and 23# Japan Science and Technology Corporation. 24# 25# This library is free software; you can redistribute it and/or modify it 26# under the terms of the GNU Lesser General Public License as published by 27# the Free Software Foundation. A copy of the license agreement is provided 28# in the file named "LICENSE.txt" included with this software distribution 29# and also available online as http://sbml.org/software/libsbml/license.html 30# ----------------------------------------------------------------------------- 31 32import sys 33import unittest 34import libsbml 35 36 37class TestReadFromFile7(unittest.TestCase): 38 39 40 def test_read_l2v3_all(self): 41 reader = libsbml.SBMLReader() 42 filename = "../../sbml/test/test-data/" 43 filename += "l2v3-all.xml" 44 d = reader.readSBML(filename) 45 if (d == None): 46 pass 47 self.assert_( d.getLevel() == 2 ) 48 self.assert_( d.getVersion() == 3 ) 49 m = d.getModel() 50 self.assert_( m != None ) 51 self.assert_( m.getId() == "l2v3_all" ) 52 self.assert_( m.getNumCompartments() == 1 ) 53 c = m.getCompartment(0) 54 self.assert_( c != None ) 55 self.assert_( c.getId() == "a" ) 56 self.assert_( c.getCompartmentType() == "hh" ) 57 self.assert_( c.getSBOTerm() == 236 ) 58 self.assert_( c.getSBOTermID() == "SBO:0000236" ) 59 self.assert_( c.getSize() == 2.3 ) 60 self.assert_( m.getNumCompartmentTypes() == 1 ) 61 ct = m.getCompartmentType(0) 62 self.assert_( ct != None ) 63 self.assert_( ct.getId() == "hh" ) 64 self.assert_( ct.getSBOTerm() == 236 ) 65 self.assert_( ct.getSBOTermID() == "SBO:0000236" ) 66 self.assert_( m.getNumSpeciesTypes() == 1 ) 67 st = m.getSpeciesType(0) 68 self.assert_( st != None ) 69 self.assert_( st.getId() == "gg" ) 70 self.assert_( st.getName() == "dd" ) 71 self.assert_( st.getSBOTerm() == 236 ) 72 self.assert_( st.getSBOTermID() == "SBO:0000236" ) 73 lost = m.getListOfSpeciesTypes() 74 st1 = lost.get(0) 75 self.assert_( st1 == st ) 76 st1 = lost.get("gg") 77 self.assert_( st1 == st ) 78 self.assert_( m.getNumConstraints() == 1 ) 79 con = m.getConstraint(0) 80 self.assert_( con != None ) 81 ast = con.getMath() 82 self.assert_(( "lt(x, 3)" == libsbml.formulaToString(ast) )) 83 self.assert_( m.getNumEvents() == 1 ) 84 e = m.getEvent(0) 85 self.assert_( e != None ) 86 self.assert_( e.getId() == "e1" ) 87 self.assert_( e.getSBOTerm() == 231 ) 88 self.assert_( e.getSBOTermID() == "SBO:0000231" ) 89 self.assertEqual( True, e.isSetDelay() ) 90 delay = e.getDelay() 91 self.assert_( delay != None ) 92 self.assert_( delay.getSBOTerm() == 64 ) 93 self.assert_( delay.getSBOTermID() == "SBO:0000064" ) 94 ast = delay.getMath() 95 self.assert_(( "p + 3" == libsbml.formulaToString(ast) )) 96 self.assertEqual( True, e.isSetTrigger() ) 97 trigger = e.getTrigger() 98 self.assert_( trigger != None ) 99 self.assert_( trigger.getSBOTerm() == 64 ) 100 self.assert_( trigger.getSBOTermID() == "SBO:0000064" ) 101 ast = trigger.getMath() 102 self.assert_(( "lt(x, 3)" == libsbml.formulaToString(ast) )) 103 loe = m.getListOfEvents() 104 e1 = loe.get(0) 105 self.assert_( e1 == e ) 106 e1 = loe.get("e1") 107 self.assert_( e1 == e ) 108 self.assert_( e.getNumEventAssignments() == 1 ) 109 ea = e.getEventAssignment(0) 110 self.assert_( ea != None ) 111 self.assert_( ea.getVariable() == "a" ) 112 self.assert_( ea.getSBOTerm() == 64 ) 113 self.assert_( ea.getSBOTermID() == "SBO:0000064" ) 114 ast = ea.getMath() 115 self.assert_(( "x * p3" == libsbml.formulaToString(ast) )) 116 loea = e.getListOfEventAssignments() 117 ea1 = loea.get(0) 118 self.assert_( ea1 == ea ) 119 ea1 = loea.get("a") 120 self.assert_( ea1 == ea ) 121 self.assert_( m.getNumFunctionDefinitions() == 1 ) 122 fd = m.getFunctionDefinition(0) 123 self.assert_( fd != None ) 124 self.assert_( fd.getId() == "fd" ) 125 self.assert_( fd.getSBOTerm() == 64 ) 126 self.assert_( fd.getSBOTermID() == "SBO:0000064" ) 127 ast = fd.getMath() 128 self.assert_(( "lambda(x, pow(x, 3))" == libsbml.formulaToString(ast) )) 129 lofd = m.getListOfFunctionDefinitions() 130 fd1 = lofd.get(0) 131 self.assert_( fd1 == fd ) 132 fd1 = lofd.get("fd") 133 self.assert_( fd1 == fd ) 134 self.assert_( m.getNumInitialAssignments() == 1 ) 135 ia = m.getInitialAssignment(0) 136 self.assert_( ia != None ) 137 self.assert_( ia.getSymbol() == "p1" ) 138 ast = ia.getMath() 139 self.assert_(( "x * p3" == libsbml.formulaToString(ast) )) 140 self.assert_( m.getNumRules() == 3 ) 141 alg = m.getRule(0) 142 self.assert_( alg != None ) 143 self.assert_( alg.getSBOTerm() == 64 ) 144 self.assert_( alg.getSBOTermID() == "SBO:0000064" ) 145 ast = alg.getMath() 146 self.assert_(( "pow(x, 3)" == libsbml.formulaToString(ast) )) 147 ar = m.getRule(1) 148 self.assert_( ar != None ) 149 self.assert_( ar.getVariable() == "p2" ) 150 self.assert_( ar.getSBOTerm() == 64 ) 151 self.assert_( ar.getSBOTermID() == "SBO:0000064" ) 152 ast = ar.getMath() 153 self.assert_(( "x * p3" == libsbml.formulaToString(ast) )) 154 rr = m.getRule(2) 155 self.assert_( rr != None ) 156 self.assert_( rr.getVariable() == "p3" ) 157 self.assert_( rr.getSBOTerm() == 64 ) 158 self.assert_( rr.getSBOTermID() == "SBO:0000064" ) 159 ast = rr.getMath() 160 self.assert_(( "p1 / p" == libsbml.formulaToString(ast) )) 161 self.assert_( m.getNumSpecies() == 1 ) 162 s = m.getSpecies(0) 163 self.assert_( s != None ) 164 self.assert_( s.getId() == "s" ) 165 self.assert_( s.getSpeciesType() == "gg" ) 166 self.assert_( s.getCompartment() == "a" ) 167 self.assert_( s.getSBOTerm() == 236 ) 168 self.assert_( s.getSBOTermID() == "SBO:0000236" ) 169 self.assertEqual( True, s.isSetInitialAmount() ) 170 self.assertEqual( False, s.isSetInitialConcentration() ) 171 self.assert_( s.getInitialAmount() == 0 ) 172 self.assert_( m.getNumReactions() == 1 ) 173 r = m.getReaction(0) 174 self.assert_( r != None ) 175 self.assert_( r.getId() == "r" ) 176 self.assertEqual( False, r.getReversible() ) 177 self.assertEqual( True, r.getFast() ) 178 self.assertEqual( True, r.isSetKineticLaw() ) 179 kl = r.getKineticLaw() 180 self.assert_( kl != None ) 181 self.assertEqual( True, kl.isSetMath() ) 182 ast = kl.getMath() 183 self.assert_(( "s * k / p" == libsbml.formulaToString(ast) )) 184 self.assert_( kl.getNumParameters() == 2 ) 185 p = kl.getParameter(0) 186 self.assert_( p != None ) 187 self.assert_( p.getId() == "k" ) 188 self.assert_( p.getUnits() == "litre" ) 189 self.assert_( p.getValue() == 9 ) 190 ud = p.getDerivedUnitDefinition() 191 self.assert_( ud.getNumUnits() == 1 ) 192 self.assert_( ud.getUnit(0).getKind() == libsbml.UNIT_KIND_LITRE ) 193 self.assert_( ud.getUnit(0).getExponent() == 1 ) 194 lop = kl.getListOfParameters() 195 p1 = lop.get(0) 196 self.assert_( p1 == p ) 197 p1 = lop.get("k") 198 self.assert_( p1 == p ) 199 p = kl.getParameter(1) 200 self.assert_( p != None ) 201 self.assert_( p.getId() == "k1" ) 202 self.assert_( p.getUnits() == "ud1" ) 203 self.assert_( p.getValue() == 9 ) 204 ud = p.getDerivedUnitDefinition() 205 self.assert_( ud.getNumUnits() == 1 ) 206 self.assert_( ud.getUnit(0).getKind() == libsbml.UNIT_KIND_MOLE ) 207 self.assert_( ud.getUnit(0).getExponent() == 1 ) 208 self.assert_( r.getNumReactants() == 1 ) 209 self.assert_( r.getNumProducts() == 0 ) 210 self.assert_( r.getNumModifiers() == 0 ) 211 sr = r.getReactant(0) 212 self.assert_( sr != None ) 213 self.assert_( sr.getSpecies() == "s" ) 214 self.assert_( sr.getSBOTerm() == 11 ) 215 self.assert_( sr.getSBOTermID() == "SBO:0000011" ) 216 stoich = sr.getStoichiometryMath() 217 self.assert_( stoich != None ) 218 self.assert_( stoich.getSBOTerm() == 64 ) 219 self.assert_( stoich.getSBOTermID() == "SBO:0000064" ) 220 ast = stoich.getMath() 221 self.assert_(( "s * p" == libsbml.formulaToString(ast) )) 222 self.assert_( m.getNumUnitDefinitions() == 1 ) 223 ud = m.getUnitDefinition(0) 224 self.assert_( ud != None ) 225 self.assert_( ud.getId() == "ud1" ) 226 loud = m.getListOfUnitDefinitions() 227 ud1 = loud.get(0) 228 self.assert_( ud1 == ud ) 229 ud1 = loud.get("ud1") 230 self.assert_( ud1 == ud ) 231 self.assert_( ud.getNumUnits() == 1 ) 232 u = ud.getUnit(0) 233 self.assert_( u != None ) 234 self.assert_( u.getKind() == libsbml.UNIT_KIND_MOLE ) 235 lou = ud.getListOfUnits() 236 u1 = lou.get(0) 237 self.assert_( u1 == u ) 238 d = None 239 pass 240 241def suite(): 242 suite = unittest.TestSuite() 243 suite.addTest(unittest.makeSuite(TestReadFromFile7)) 244 245 return suite 246 247if __name__ == "__main__": 248 if unittest.TextTestRunner(verbosity=1).run(suite()).wasSuccessful() : 249 sys.exit(0) 250 else: 251 sys.exit(1) 252