コード例 #1
0
        protected override void Because()
        {
            var sbmlModel = new Model(3, 1);

            //Event
            var sbmlEvent = sbmlModel.createEvent();

            sbmlEvent.setId("e1");
            sbmlEvent.setName("e1_name");
            sbmlEvent.setNotes("eventNotes");

            //Trigger
            var trigger = sbmlModel.createTrigger();

            trigger.setMath(libsbml.parseFormula("1 > 0 "));
            sbmlEvent.setTrigger(trigger);
            //Event Assignment
            var assign = new EventAssignment(3, 1);

            assign.setId("ea1");
            assign.setName("ea1_name");
            assign.setVariable("x1");
            assign.setMath(libsbml.parseFormula("1+2"));
            sbmlEvent.addEventAssignment(assign);

            sbmlModel.addEvent(sbmlEvent);

            sut.DoImport(sbmlModel, new MoBiProject(), A.Fake <SBMLInformation>(), new MoBiMacroCommand());
        }
コード例 #2
0
 public void setUp()
 {
     EA = new  EventAssignment(2,4);
       if (EA == null);
       {
       }
 }
コード例 #3
0
ファイル: EventImporter.cs プロジェクト: onwhenrdy/MoBi
        /// <summary>
        ///    Creates the Mobi Event Assignment for one SBML Event Assignment.
        /// </summary>
        internal void CreateEventAssignment(EventAssignment eventAssignment)
        {
            _counter++;
            var assignmentVar = eventAssignment.getVariable();
            var alias         = _sbmlInformation.AliasCreator.CreateAliasFrom(assignmentVar) + _counter;

            var description = String.Empty;

            if (eventAssignment.isSetNotes())
            {
                description += eventAssignment.getNotesString();
            }
            if (eventAssignment.isSetSBOTerm())
            {
                description += (SBMLConstants.SPACE + eventAssignment.getSBOTerm());
            }

            IEventAssignmentBuilder eab = new EventAssignmentBuilder()
                                          .WithId(eventAssignment.getId() + SBMLConstants.SPACE + eventAssignment.getName() + SBMLConstants.SPACE + alias)
                                          .WithName(SBMLConstants.SBML_EVENT_ASSIGNMENT + eventAssignment.getId())
                                          .WithDescription(description);

            var formula = _astHandler.Parse(eventAssignment.getMath(), eab, assignmentVar, _sbmlProject, _sbmlInformation) ??
                          ObjectBaseFactory.Create <ExplicitFormula>().WithFormulaString(String.Empty).WithName(SBMLConstants.DEFAULT_FORMULA_NAME);

            eab.Formula = formula;
            EventGroupBuildingBlock.FormulaCache.Add(formula);
            EventBuilder.AddAssignment(eab);
        }
コード例 #4
0
        internal static HandleRef getCPtrAndDisown(EventAssignment obj)
        {
            HandleRef ptr = new HandleRef(null, IntPtr.Zero);

            if (obj != null)
            {
                ptr             = obj.swigCPtr;
                obj.swigCMemOwn = false;
            }

            return(ptr);
        }
コード例 #5
0
 public void test_Event_addEventAssignment2()
 {
     Event e = new  Event(2,2);
       EventAssignment ea = new  EventAssignment(2,3);
       ea.setVariable( "f");
       ea.setMath(libsbml.parseFormula("a-n"));
       int i = e.addEventAssignment(ea);
       assertTrue( i == libsbml.LIBSBML_VERSION_MISMATCH );
       assertTrue( e.getNumEventAssignments() == 0 );
       ea = null;
       e = null;
 }
コード例 #6
0
ファイル: printMath.cs プロジェクト: TotteKarlsson/roadrunner
    private static void printEventAssignmentMath(int n, EventAssignment ea)
    {
        string variable;
        string formula;

        if (ea.isSetMath())
        {
            variable = ea.getVariable();
            formula = libsbml.formulaToString(ea.getMath());

            Console.Write("  EventAssignment " + n
                                  + ", trigger: " + variable + " = " + formula + Environment.NewLine);

        }
    }
コード例 #7
0
 public void test_Event_addEventAssignment1()
 {
     Event e = new  Event(2,2);
       EventAssignment ea = new  EventAssignment(2,2);
       int i = e.addEventAssignment(ea);
       assertTrue( i == libsbml.LIBSBML_INVALID_OBJECT );
       ea.setVariable( "f");
       i = e.addEventAssignment(ea);
       assertTrue( i == libsbml.LIBSBML_INVALID_OBJECT );
       ea.setMath(libsbml.parseFormula("a-n"));
       i = e.addEventAssignment(ea);
       assertTrue( i == libsbml.LIBSBML_OPERATION_SUCCESS );
       assertTrue( e.getNumEventAssignments() == 1 );
       ea = null;
       e = null;
 }
コード例 #8
0
 public void test_EventAssignment_createWithNS()
 {
     XMLNamespaces xmlns = new  XMLNamespaces();
       xmlns.add( "http://www.sbml.org", "testsbml");
       SBMLNamespaces sbmlns = new  SBMLNamespaces(2,1);
       sbmlns.addNamespaces(xmlns);
       EventAssignment object1 = new  EventAssignment(sbmlns);
       assertTrue( object1.getTypeCode() == libsbml.SBML_EVENT_ASSIGNMENT );
       assertTrue( object1.getMetaId() == "" );
       assertTrue( object1.getNotes() == null );
       assertTrue( object1.getAnnotation() == null );
       assertTrue( object1.getLevel() == 2 );
       assertTrue( object1.getVersion() == 1 );
       assertTrue( object1.getNamespaces() != null );
       assertTrue( object1.getNamespaces().getLength() == 2 );
       object1 = null;
 }
コード例 #9
0
 internal static HandleRef getCPtr(EventAssignment obj)
 {
     return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr;
 }
コード例 #10
0
ファイル: TestEvent.cs プロジェクト: 0u812/roadrunner-backup
 public void test_Event_full()
 {
     ASTNode math1 = libsbml.parseFormula("0");
       Trigger trigger = new  Trigger(2,4);
       ASTNode math = libsbml.parseFormula("0");
       Event e = new  Event(2,4);
       EventAssignment ea = new  EventAssignment(2,4);
       ea.setVariable( "k");
       ea.setMath(math);
       trigger.setMath(math1);
       e.setTrigger(trigger);
       e.setId( "e1");
       e.setName( "Set k2 to zero when P1 <= t");
       e.addEventAssignment(ea);
       assertTrue( e.getNumEventAssignments() == 1 );
       assertNotEquals(e.getEventAssignment(0),ea);
       math = null;
       e = null;
 }
コード例 #11
0
ファイル: Event.cs プロジェクト: kirichoi/roadrunner
 /**
    * Appends a copy of the given EventAssignment to this Event.
    *
    * @param ea the EventAssignment object to add.
    *
    * @return integer value indicating success/failure of the
    * function.  @if clike The value is drawn from the
    * enumeration #OperationReturnValues_t. @endif The possible values
    * returned by this function are:
    * @li @link libsbmlcs#LIBSBML_OPERATION_SUCCESS LIBSBML_OPERATION_SUCCESS@endlink
    * @li @link libsbmlcs#LIBSBML_LEVEL_MISMATCH LIBSBML_LEVEL_MISMATCH@endlink
    * @li @link libsbmlcs#LIBSBML_VERSION_MISMATCH LIBSBML_VERSION_MISMATCH@endlink
    * @li @link libsbmlcs#LIBSBML_DUPLICATE_OBJECT_ID LIBSBML_DUPLICATE_OBJECT_ID@endlink
    * @li @link libsbmlcs#LIBSBML_OPERATION_FAILED LIBSBML_OPERATION_FAILED@endlink
    *
    * *
  * @note This method should be used with some caution.  The fact that this
  * method @em copies the object passed to it means that the caller will be
  * left holding a physically different object instance than the one contained
  * inside this object.  Changes made to the original object instance (such as
  * resetting attribute values) will <em>not affect the instance in this
  * object</em>.  In addition, the caller should make sure to free the
  * original object if it is no longer being used, or else a memory leak will
  * result.  Please see other methods on this class (particularly a
  * corresponding method whose name begins with the word <code>create</code>)
  * for alternatives that do not lead to these issues.
  *
  *
    *
    * @see createEventAssignment()
    */
 public int addEventAssignment(EventAssignment ea)
 {
     int ret = libsbmlPINVOKE.Event_addEventAssignment(swigCPtr, EventAssignment.getCPtr(ea));
     return ret;
 }
コード例 #12
0
 public void test_ASTNode_create()
 {
     ASTNode n = new  ASTNode();
       EventAssignment ea = new  EventAssignment(2,4);
       assertTrue( n.getType() == libsbml.AST_UNKNOWN );
       assertTrue( n.getCharacter() == '\0' );
       assertTrue( n.getName() == null );
       assertTrue( n.getInteger() == 0 );
       assertTrue( n.getExponent() == 0 );
       assertTrue( n.getNumChildren() == 0 );
       assertTrue( n.getParentSBMLObject() == null );
       ea = null;
       n = null;
 }
コード例 #13
0
 public void test_EventAssignment_parent_add()
 {
     Event e = new Event(2,4);
       EventAssignment ea = new EventAssignment(2,4);
       ea.setVariable("c");
       ea.setMath(libsbml.parseFormula("K+L"));
       e.addEventAssignment(ea);
       ea = null;
       ListOf lo = e.getListOfEventAssignments();
       assertTrue( lo == e.getEventAssignment(0).getParentSBMLObject() );
       assertTrue( e == lo.getParentSBMLObject() );
 }
コード例 #14
0
 public void test_EventAssignment()
 {
     EventAssignment ea = new EventAssignment(2,4);
       assertEquals( false, (ea.hasRequiredAttributes()) );
       ea.setVariable("ea");
       assertEquals( true, ea.hasRequiredAttributes() );
       ea = null;
 }
コード例 #15
0
 public void test_internal_consistency_check_99911_ea()
 {
     SBMLDocument d = new SBMLDocument(2,4);
       d.setLevelAndVersion(2,1,false);
       long errors;
       Model m = d.createModel();
       Compartment c = m.createCompartment();
       c.setId("c");
       c.setConstant(false);
       Event e = m.createEvent();
       ASTNode ast = libsbml.parseFormula("2*x");
       Trigger t = e.createTrigger();
       t.setMath(ast);
       EventAssignment ea = new EventAssignment(2,4);
       ea.setVariable("c");
       ea.setSBOTerm(2);
       ea.setMath(ast);
       e.addEventAssignment(ea);
       errors = d.checkInternalConsistency();
       assertTrue( errors == 1 );
       assertTrue( d.getError(0).getErrorId() == 21203 );
       d = null;
 }
コード例 #16
0
 public void test_EventAssignment()
 {
     EventAssignment ea = new EventAssignment(2,4);
       assertEquals( false, (ea.hasRequiredElements()) );
       ea.setMath(libsbml.parseFormula("fd"));
       assertEquals( true, ea.hasRequiredElements() );
       ea = null;
 }
コード例 #17
0
 internal static HandleRef getCPtr(EventAssignment obj)
 {
     return((obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr);
 }
コード例 #18
0
 /**
    * Copy constructor; creates a copy of this EventAssignment.
    */
 public EventAssignment(EventAssignment orig)
     : this(libsbmlPINVOKE.new_EventAssignment__SWIG_2(EventAssignment.getCPtr(orig)), true)
 {
     if (libsbmlPINVOKE.SWIGPendingException.Pending) throw libsbmlPINVOKE.SWIGPendingException.Retrieve();
 }
コード例 #19
0
 public void tearDown()
 {
     EA = null;
 }
コード例 #20
0
        internal static HandleRef getCPtrAndDisown(EventAssignment obj)
        {
            HandleRef ptr = new HandleRef(null, IntPtr.Zero);

            if (obj != null)
            {
            ptr             = obj.swigCPtr;
            obj.swigCMemOwn = false;
            }

            return ptr;
        }
コード例 #21
0
 public void test_WriteSBML_Event_full()
 {
     string expected = "<event id=\"e\">\n" +
     "  <trigger>\n" +
     "    <math xmlns=\"http://www.w3.org/1998/Math/MathML\">\n" +
     "      <apply>\n" +
     "        <leq/>\n" +
     "        <ci> P1 </ci>\n" +
     "        <ci> t </ci>\n" +
     "      </apply>\n" +
     "    </math>\n" +
     "  </trigger>\n" +
     "  <listOfEventAssignments>\n" +
     "    <eventAssignment sboTerm=\"SBO:0000064\" variable=\"k2\">\n" +
     "      <math xmlns=\"http://www.w3.org/1998/Math/MathML\">\n" +
     "        <cn type=\"integer\"> 0 </cn>\n" +
     "      </math>\n" +
     "    </eventAssignment>\n" +
     "  </listOfEventAssignments>\n" +
     "</event>";
       D.setLevelAndVersion(2,3,false);
       Event e = D.createModel().createEvent();
       e.setId("e");
       ASTNode node = libsbml.parseFormula("leq(P1,t)");
       Trigger t = new Trigger ( 2,3 );
       t.setMath(node);
       ASTNode math = libsbml.parseFormula("0");
       EventAssignment ea = new EventAssignment ( 2,3 );
       ea.setVariable("k2");
       ea.setMath(math);
       ea.setSBOTerm(64);
       e.setTrigger(t);
       e.addEventAssignment(ea);
       assertEquals( true, equals(expected,e.toSBML()) );
 }
コード例 #22
0
 EventAssignment(EventAssignment orig) : this(libsbmlPINVOKE.new_EventAssignment__SWIG_2(EventAssignment.getCPtr(orig)), true)
 {
     if (libsbmlPINVOKE.SWIGPendingException.Pending)
     {
         throw libsbmlPINVOKE.SWIGPendingException.Retrieve();
     }
 }
コード例 #23
0
 public void test_EventAssignment_ancestor_add()
 {
     Event e = new Event(2,4);
       EventAssignment ea = new EventAssignment(2,4);
       ea.setVariable("c");
       ea.setMath(libsbml.parseFormula("K+L"));
       e.addEventAssignment(ea);
       ea = null;
       ListOf lo = e.getListOfEventAssignments();
       EventAssignment obj = e.getEventAssignment(0);
       assertTrue( obj.getAncestorOfType(libsbml.SBML_EVENT) == e );
       assertTrue( obj.getAncestorOfType(libsbml.SBML_LIST_OF) == lo );
       assertTrue( obj.getAncestorOfType(libsbml.SBML_DOCUMENT) == null );
       assertTrue( obj.getAncestorOfType(libsbml.SBML_COMPARTMENT) == null );
 }
コード例 #24
0
        public void test_EventAssignment_constructor()
        {
            SBase s;

              try
              {
            s = new EventAssignment(2,1);
            s = new EventAssignment(2,2);
            s = new EventAssignment(2,3);
            s = new EventAssignment(2,4);
            s = new EventAssignment(3,1);
            s = new EventAssignment(SN21);
            s = new EventAssignment(SN22);
            s = new EventAssignment(SN23);
            s = new EventAssignment(SN24);
            s = new EventAssignment(SN31);
              }
              catch (SBMLConstructorException e)
              {
             s = null;
              }
              assertTrue(s != null);

              string msg = "";

              try
              {
            s = new EventAssignment(1,1);
              }
              catch (SBMLConstructorException e)
              {
             msg = e.Message;
              }
              assertTrue(msg == ErrMsg);

              msg = "";
              try
              {
            s = new EventAssignment(1,2);
              }
              catch (SBMLConstructorException e)
              {
             msg = e.Message;
              }
              assertTrue(msg == ErrMsg);

              msg = "";
              try
              {
            s = new EventAssignment(9,9);
              }
              catch (SBMLConstructorException e)
              {
             msg = e.Message;
              }
              assertTrue(msg == ErrMsg);

              msg = "";
              try
              {
            s = new EventAssignment(SN11);
              }
              catch (SBMLConstructorException e)
              {
             msg = e.Message;
              }
              assertTrue(msg == ErrMsg);

              msg = "";
              try
              {
            s = new EventAssignment(SN12);
              }
              catch (SBMLConstructorException e)
              {
             msg = e.Message;
              }
              assertTrue(msg == ErrMsg);

              msg = "";
              try
              {
            s = new EventAssignment(SN99);
              }
              catch (SBMLConstructorException e)
              {
             msg = e.Message;
              }
              assertTrue(msg == ErrMsg);
        }
コード例 #25
0
 public void test_EventAssignment_copyConstructor()
 {
     EventAssignment o1 = new EventAssignment(2,4);
       o1.setVariable("c2");
       assertTrue( o1.getVariable() ==  "c2" );
       ASTNode node = new ASTNode(libsbml.AST_CONSTANT_PI);
       o1.setMath(node);
       node = null;
       assertTrue( o1.getMath() != null );
       EventAssignment o2 = new EventAssignment(o1);
       assertTrue( o2.getVariable() ==  "c2" );
       assertTrue( o2.getMath() != null );
       assertTrue( o2.getParentSBMLObject() == o1.getParentSBMLObject() );
       o2 = null;
       o1 = null;
 }