public void test_AssignmentRule_parent_create() { Model m = new Model(2,4); AssignmentRule r = m.createAssignmentRule(); ListOf lo = m.getListOfRules(); assertTrue( lo == m.getRule(0).getParentSBMLObject() ); assertTrue( lo == r.getParentSBMLObject() ); assertTrue( m == lo.getParentSBMLObject() ); }
public void test_AssignmentRule_ancestor_create() { Model m = new Model(2,4); AssignmentRule r = m.createAssignmentRule(); ListOf lo = m.getListOfRules(); assertTrue( r.getAncestorOfType(libsbml.SBML_MODEL) == m ); assertTrue( r.getAncestorOfType(libsbml.SBML_LIST_OF) == lo ); assertTrue( r.getAncestorOfType(libsbml.SBML_DOCUMENT) == null ); assertTrue( r.getAncestorOfType(libsbml.SBML_EVENT) == null ); Rule obj = m.getRule(0); assertTrue( obj.getAncestorOfType(libsbml.SBML_MODEL) == m ); assertTrue( obj.getAncestorOfType(libsbml.SBML_LIST_OF) == lo ); assertTrue( obj.getAncestorOfType(libsbml.SBML_DOCUMENT) == null ); assertTrue( obj.getAncestorOfType(libsbml.SBML_EVENT) == null ); }
/// <summary> /// [ RuleStruct ] /// [[ RuleType, Formula, Variable ]] /// </summary> /// <param name="aSBMLmodel"></param> /// <returns></returns> public static List<RuleStruct> getRule(Model aSBMLmodel) { List<RuleStruct> list = new List<RuleStruct>(); ListOfRules rules = aSBMLmodel.getListOfRules(); for (int i = 0; i < rules.size(); i++ ) { Rule aRule = aSBMLmodel.getRule(i); int aRuleType = aRule.getTypeCode(); string aFormula = aRule.getFormula(); string aVariable = null; if ( aRuleType == libsbml.libsbml.SBML_ALGEBRAIC_RULE ) aVariable = ""; else if (aRuleType == libsbml.libsbml.SBML_ASSIGNMENT_RULE || aRuleType == libsbml.libsbml.SBML_RATE_RULE) aVariable = aRule.getVariable(); //else if (aRuleType == libsbml.libsbml.SBML_SPECIES_CONCENTRATION_RULE) // aVariable = aRule.getSpecies(); //else if (aRuleType == libsbml.libsbml.SBML_COMPARTMENT_VOLUME_RULE) // aVariable = aRule.getCompartment(); // ToDo: LibSBML3.2C#で呼び出せない。どうするか検討する。 else if (aRuleType == libsbml.libsbml.SBML_PARAMETER_RULE) aVariable = aRule.getName(); else throw new EcellException(" The type of Rule must be Algebraic, Assignment or Rate Rule"); RuleStruct rule = new RuleStruct( aRuleType, aFormula, aVariable ); list.Add(rule); } return list; }
public void test_Rule_parent_add() { Rule ia = new RateRule(2,4); ia.setVariable("a"); ia.setMath(libsbml.parseFormula("9")); Model m = new Model(2,4); m.addRule(ia); ia = null; ListOf lo = m.getListOfRules(); assertTrue( lo == m.getRule(0).getParentSBMLObject() ); assertTrue( m == lo.getParentSBMLObject() ); }
public void test_Rule_ancestor_add() { Rule ia = new RateRule(2,4); ia.setVariable("a"); ia.setMath(libsbml.parseFormula("9")); Model m = new Model(2,4); m.addRule(ia); ia = null; ListOf lo = m.getListOfRules(); Rule obj = m.getRule(0); assertTrue( obj.getAncestorOfType(libsbml.SBML_MODEL) == m ); assertTrue( obj.getAncestorOfType(libsbml.SBML_LIST_OF) == lo ); assertTrue( obj.getAncestorOfType(libsbml.SBML_DOCUMENT) == null ); assertTrue( obj.getAncestorOfType(libsbml.SBML_EVENT) == null ); }
public void test_ReadSBML_metaid_ListOf() { SBase sb; string s = wrapSBML_L2v1("<listOfFunctionDefinitions metaid='lofd'/>" + "<listOfUnitDefinitions metaid='loud'/>" + "<listOfCompartments metaid='loc'/>" + "<listOfSpecies metaid='los'/>" + "<listOfParameters metaid='lop'/>" + "<listOfRules metaid='lor'/>" + "<listOfReactions metaid='lorx'/>" + "<listOfEvents metaid='loe'/>"); D = libsbml.readSBMLFromString(s); M = D.getModel(); assertTrue( M != null ); sb = M.getListOfFunctionDefinitions(); assertEquals( true, sb.isSetMetaId() ); assertTrue(( "lofd" == sb.getMetaId() )); sb = M.getListOfUnitDefinitions(); assertEquals( true, sb.isSetMetaId() ); assertTrue(( "loud" == sb.getMetaId() )); sb = M.getListOfCompartments(); assertEquals( true, sb.isSetMetaId() ); assertTrue(( "loc" == sb.getMetaId() )); sb = M.getListOfSpecies(); assertEquals( true, sb.isSetMetaId() ); assertTrue(( "los" == sb.getMetaId() )); sb = M.getListOfParameters(); assertEquals( true, sb.isSetMetaId() ); assertTrue(( "lop" == sb.getMetaId() )); sb = M.getListOfRules(); assertEquals( true, sb.isSetMetaId() ); assertTrue(( "lor" == sb.getMetaId() )); sb = M.getListOfReactions(); assertEquals( true, sb.isSetMetaId() ); assertTrue(( "lorx" == sb.getMetaId() )); sb = M.getListOfEvents(); assertEquals( true, sb.isSetMetaId() ); assertTrue(( "loe" == sb.getMetaId() )); }