1 ///  @file    TestSBMLParentObject.cs
2 ///  @brief   SBML parent object unit tests
3 ///  @author  Frank Bergmann (Csharp conversion)
4 ///  @author  Akiya Jouraku (Csharp conversion)
5 ///  @author  Sarah Keating
6 ///
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/TestSBMLParentObject.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 
32 
33 namespace LibSBMLCSTest.sbml {
34 
35   using libsbmlcs;
36 
37   using System;
38 
39   using System.IO;
40 
41   public class TestSBMLParentObject {
42     public class AssertionError : System.Exception
43     {
AssertionError()44       public AssertionError() : base()
45       {
46 
47       }
48     }
49 
50 
assertTrue(bool condition)51     static void assertTrue(bool condition)
52     {
53       if (condition == true)
54       {
55         return;
56       }
57       throw new AssertionError();
58     }
59 
assertEquals(object a, object b)60     static void assertEquals(object a, object b)
61     {
62       if ( (a == null) && (b == null) )
63       {
64         return;
65       }
66       else if ( (a == null) || (b == null) )
67       {
68         throw new AssertionError();
69       }
70       else if (a.Equals(b))
71       {
72         return;
73       }
74 
75       throw new AssertionError();
76     }
77 
assertNotEquals(object a, object b)78     static void assertNotEquals(object a, object b)
79     {
80       if ( (a == null) && (b == null) )
81       {
82         throw new AssertionError();
83       }
84       else if ( (a == null) || (b == null) )
85       {
86         return;
87       }
88       else if (a.Equals(b))
89       {
90         throw new AssertionError();
91       }
92     }
93 
assertEquals(bool a, bool b)94     static void assertEquals(bool a, bool b)
95     {
96       if ( a == b )
97       {
98         return;
99       }
100       throw new AssertionError();
101     }
102 
assertNotEquals(bool a, bool b)103     static void assertNotEquals(bool a, bool b)
104     {
105       if ( a != b )
106       {
107         return;
108       }
109       throw new AssertionError();
110     }
111 
assertEquals(int a, int b)112     static void assertEquals(int a, int b)
113     {
114       if ( a == b )
115       {
116         return;
117       }
118       throw new AssertionError();
119     }
120 
assertNotEquals(int a, int b)121     static void assertNotEquals(int a, int b)
122     {
123       if ( a != b )
124       {
125         return;
126       }
127       throw new AssertionError();
128     }
129 
130 
test_AlgebraicRule_parent_create()131     public void test_AlgebraicRule_parent_create()
132     {
133       Model m = new Model(2,4);
134       AlgebraicRule r = m.createAlgebraicRule();
135       ListOf lo = m.getListOfRules();
136       assertTrue( lo == m.getRule(0).getParentSBMLObject() );
137       assertTrue( lo == r.getParentSBMLObject() );
138       assertTrue( m == lo.getParentSBMLObject() );
139     }
140 
test_AssignmentRule_parent_create()141     public void test_AssignmentRule_parent_create()
142     {
143       Model m = new Model(2,4);
144       AssignmentRule r = m.createAssignmentRule();
145       ListOf lo = m.getListOfRules();
146       assertTrue( lo == m.getRule(0).getParentSBMLObject() );
147       assertTrue( lo == r.getParentSBMLObject() );
148       assertTrue( m == lo.getParentSBMLObject() );
149     }
150 
test_CompartmentType_parent_NULL()151     public void test_CompartmentType_parent_NULL()
152     {
153       SBMLDocument d = new SBMLDocument(2,4);
154       Model m = d.createModel();
155       CompartmentType c = m.createCompartmentType();
156       CompartmentType c1 = c.clone();
157       d = null;
158       assertTrue( c1.getAncestorOfType(libsbml.SBML_MODEL) == null );
159       assertTrue( c1.getParentSBMLObject() == null );
160       assertEquals(c1.getSBMLDocument(),null);
161       c1 = null;
162     }
163 
test_CompartmentType_parent_add()164     public void test_CompartmentType_parent_add()
165     {
166       CompartmentType ct = new CompartmentType(2,4);
167       Model m = new Model(2,4);
168       ct.setId("ct");
169       m.addCompartmentType(ct);
170       ct = null;
171       ListOf lo = m.getListOfCompartmentTypes();
172       assertTrue( lo == m.getCompartmentType(0).getParentSBMLObject() );
173       assertTrue( m == lo.getParentSBMLObject() );
174     }
175 
test_CompartmentType_parent_create()176     public void test_CompartmentType_parent_create()
177     {
178       Model m = new Model(2,4);
179       CompartmentType ct = m.createCompartmentType();
180       ListOf lo = m.getListOfCompartmentTypes();
181       assertTrue( lo == m.getCompartmentType(0).getParentSBMLObject() );
182       assertTrue( lo == ct.getParentSBMLObject() );
183       assertTrue( m == lo.getParentSBMLObject() );
184     }
185 
test_Compartment_parent_NULL()186     public void test_Compartment_parent_NULL()
187     {
188       SBMLDocument d = new SBMLDocument();
189       Model m = d.createModel();
190       Compartment c = m.createCompartment();
191       Compartment c1 = c.clone();
192       d = null;
193       assertTrue( c1.getAncestorOfType(libsbml.SBML_MODEL) == null );
194       assertTrue( c1.getParentSBMLObject() == null );
195       assertEquals(c1.getSBMLDocument(),null);
196       c1 = null;
197     }
198 
test_Compartment_parent_add()199     public void test_Compartment_parent_add()
200     {
201       Compartment c = new Compartment(2,4);
202       c.setId("c");
203       Model m = new Model(2,4);
204       m.addCompartment(c);
205       c = null;
206       ListOf lo = m.getListOfCompartments();
207       assertTrue( lo == m.getCompartment(0).getParentSBMLObject() );
208       assertTrue( m == lo.getParentSBMLObject() );
209     }
210 
test_Compartment_parent_create()211     public void test_Compartment_parent_create()
212     {
213       Model m = new Model(2,4);
214       Compartment c = m.createCompartment();
215       ListOf lo = m.getListOfCompartments();
216       assertTrue( lo == m.getCompartment(0).getParentSBMLObject() );
217       assertTrue( lo == c.getParentSBMLObject() );
218       assertTrue( m == lo.getParentSBMLObject() );
219     }
220 
test_Constraint_parent_NULL()221     public void test_Constraint_parent_NULL()
222     {
223       SBMLDocument d = new SBMLDocument();
224       Model m = d.createModel();
225       Constraint c = m.createConstraint();
226       Constraint c1 = c.clone();
227       d = null;
228       assertTrue( c1.getAncestorOfType(libsbml.SBML_MODEL) == null );
229       assertTrue( c1.getParentSBMLObject() == null );
230       assertEquals(c1.getSBMLDocument(),null);
231       c1 = null;
232     }
233 
test_Constraint_parent_add()234     public void test_Constraint_parent_add()
235     {
236       Constraint ct = new Constraint(2,4);
237       Model m = new Model(2,4);
238       ct.setMath(libsbml.parseFormula("a-k"));
239       m.addConstraint(ct);
240       ct = null;
241       ListOf lo = m.getListOfConstraints();
242       assertTrue( lo == m.getConstraint(0).getParentSBMLObject() );
243       assertTrue( m == lo.getParentSBMLObject() );
244     }
245 
test_Constraint_parent_create()246     public void test_Constraint_parent_create()
247     {
248       Model m = new Model(2,4);
249       Constraint ct = m.createConstraint();
250       ListOf lo = m.getListOfConstraints();
251       assertTrue( lo == m.getConstraint(0).getParentSBMLObject() );
252       assertTrue( lo == ct.getParentSBMLObject() );
253       assertTrue( m == lo.getParentSBMLObject() );
254     }
255 
test_Delay_parent_add()256     public void test_Delay_parent_add()
257     {
258       Delay d = new Delay(2,4);
259       d.setMath(libsbml.parseFormula("1"));
260       Event e = new Event(2,4);
261       e.setDelay(d);
262       d = null;
263       assertTrue( e == e.getDelay().getParentSBMLObject() );
264       e = null;
265     }
266 
test_EventAssignment_parent_add()267     public void test_EventAssignment_parent_add()
268     {
269       Event e = new Event(2,4);
270       EventAssignment ea = new EventAssignment(2,4);
271       ea.setVariable("c");
272       ea.setMath(libsbml.parseFormula("K+L"));
273       e.addEventAssignment(ea);
274       ea = null;
275       ListOf lo = e.getListOfEventAssignments();
276       assertTrue( lo == e.getEventAssignment(0).getParentSBMLObject() );
277       assertTrue( e == lo.getParentSBMLObject() );
278     }
279 
test_EventAssignment_parent_create()280     public void test_EventAssignment_parent_create()
281     {
282       Event e = new Event(2,4);
283       EventAssignment ea = e.createEventAssignment();
284       ListOf lo = e.getListOfEventAssignments();
285       assertTrue( lo == e.getEventAssignment(0).getParentSBMLObject() );
286       assertTrue( lo == ea.getParentSBMLObject() );
287       assertTrue( e == lo.getParentSBMLObject() );
288     }
289 
test_EventAssignment_parent_create_model()290     public void test_EventAssignment_parent_create_model()
291     {
292       Model m = new Model(2,4);
293       Event e = m.createEvent();
294       EventAssignment ea = m.createEventAssignment();
295       ListOf lo = e.getListOfEventAssignments();
296       assertTrue( lo == e.getEventAssignment(0).getParentSBMLObject() );
297       assertTrue( lo == ea.getParentSBMLObject() );
298       assertTrue( e == lo.getParentSBMLObject() );
299     }
300 
test_Event_parent_NULL()301     public void test_Event_parent_NULL()
302     {
303       SBMLDocument d = new SBMLDocument(2,4);
304       Model m = d.createModel();
305       Event c = m.createEvent();
306       EventAssignment ea = c.createEventAssignment();
307       Trigger t = new Trigger(2,4);
308       t.setMath(new ASTNode());
309       Delay dy = new Delay(2,4);
310       dy.setMath(new ASTNode());
311       c.setTrigger(t);
312       c.setDelay(dy);
313       assertTrue( c.getAncestorOfType(libsbml.SBML_MODEL) == m );
314       assertTrue( c.getTrigger().getParentSBMLObject() == c );
315       assertEquals(c.getDelay().getSBMLDocument(),d);
316       assertTrue( ea.getAncestorOfType(libsbml.SBML_EVENT) == c );
317       Event c1 = c.clone();
318       d = null;
319       assertTrue( c1.getAncestorOfType(libsbml.SBML_MODEL) == null );
320       assertTrue( c1.getParentSBMLObject() == null );
321       assertEquals(c1.getSBMLDocument(),null);
322       assertTrue( c1.getEventAssignment(0).getAncestorOfType(libsbml.SBML_MODEL) == null );
323       assertTrue( c1.getEventAssignment(0).getAncestorOfType(libsbml.SBML_EVENT) == c1 );
324       assertTrue( c1.getEventAssignment(0).getParentSBMLObject() != null );
325       assertEquals(c1.getEventAssignment(0).getSBMLDocument(),null);
326       assertTrue( c1.getTrigger().getAncestorOfType(libsbml.SBML_MODEL) == null );
327       assertTrue( c1.getTrigger().getAncestorOfType(libsbml.SBML_EVENT) == c1 );
328       assertTrue( c1.getTrigger().getParentSBMLObject() != null );
329       assertEquals(c1.getTrigger().getSBMLDocument(),null);
330       assertTrue( c1.getDelay().getAncestorOfType(libsbml.SBML_MODEL) == null );
331       assertTrue( c1.getDelay().getAncestorOfType(libsbml.SBML_EVENT) == c1 );
332       assertTrue( c1.getDelay().getParentSBMLObject() != null );
333       assertEquals(c1.getDelay().getSBMLDocument(),null);
334       c1 = null;
335     }
336 
test_Event_parent_add()337     public void test_Event_parent_add()
338     {
339       Event e = new Event(2,4);
340       Trigger t = new Trigger(2,4);
341       t.setMath(libsbml.parseFormula("true"));
342       e.setTrigger(t);
343       e.createEventAssignment();
344       Model m = new Model(2,4);
345       m.addEvent(e);
346       e = null;
347       ListOf lo = m.getListOfEvents();
348       assertTrue( lo == m.getEvent(0).getParentSBMLObject() );
349       assertTrue( m == lo.getParentSBMLObject() );
350     }
351 
test_Event_parent_create()352     public void test_Event_parent_create()
353     {
354       Model m = new Model(2,4);
355       Event e = m.createEvent();
356       ListOf lo = m.getListOfEvents();
357       assertTrue( lo == m.getEvent(0).getParentSBMLObject() );
358       assertTrue( lo == e.getParentSBMLObject() );
359       assertTrue( m == lo.getParentSBMLObject() );
360     }
361 
test_FunctionDefinition_parent_NULL()362     public void test_FunctionDefinition_parent_NULL()
363     {
364       SBMLDocument d = new SBMLDocument();
365       Model m = d.createModel();
366       FunctionDefinition c = m.createFunctionDefinition();
367       FunctionDefinition c1 = c.clone();
368       d = null;
369       assertTrue( c1.getAncestorOfType(libsbml.SBML_MODEL) == null );
370       assertTrue( c1.getParentSBMLObject() == null );
371       assertEquals(c1.getSBMLDocument(),null);
372       c1 = null;
373     }
374 
test_FunctionDefinition_parent_add()375     public void test_FunctionDefinition_parent_add()
376     {
377       FunctionDefinition fd = new FunctionDefinition(2,4);
378       Model m = new Model(2,4);
379       fd.setId("fd");
380       fd.setMath(libsbml.parseFormula("l"));
381       m.addFunctionDefinition(fd);
382       fd = null;
383       ListOf lo = m.getListOfFunctionDefinitions();
384       assertTrue( lo == m.getFunctionDefinition(0).getParentSBMLObject() );
385       assertTrue( m == lo.getParentSBMLObject() );
386     }
387 
test_FunctionDefinition_parent_create()388     public void test_FunctionDefinition_parent_create()
389     {
390       Model m = new Model(2,4);
391       FunctionDefinition fd = m.createFunctionDefinition();
392       ListOf lo = m.getListOfFunctionDefinitions();
393       assertTrue( lo == m.getFunctionDefinition(0).getParentSBMLObject() );
394       assertTrue( lo == fd.getParentSBMLObject() );
395       assertTrue( m == lo.getParentSBMLObject() );
396     }
397 
test_InitialAssignment_parent_NULL()398     public void test_InitialAssignment_parent_NULL()
399     {
400       SBMLDocument d = new SBMLDocument();
401       Model m = d.createModel();
402       InitialAssignment c = m.createInitialAssignment();
403       InitialAssignment c1 = c.clone();
404       d = null;
405       assertTrue( c1.getAncestorOfType(libsbml.SBML_MODEL) == null );
406       assertTrue( c1.getParentSBMLObject() == null );
407       assertEquals(c1.getSBMLDocument(),null);
408       c1 = null;
409     }
410 
test_InitialAssignment_parent_add()411     public void test_InitialAssignment_parent_add()
412     {
413       InitialAssignment ia = new InitialAssignment(2,4);
414       Model m = new Model(2,4);
415       ia.setSymbol("c");
416       ia.setMath(libsbml.parseFormula("9"));
417       m.addInitialAssignment(ia);
418       ia = null;
419       ListOf lo = m.getListOfInitialAssignments();
420       assertTrue( lo == m.getInitialAssignment(0).getParentSBMLObject() );
421       assertTrue( m == lo.getParentSBMLObject() );
422     }
423 
test_InitialAssignment_parent_create()424     public void test_InitialAssignment_parent_create()
425     {
426       Model m = new Model(2,4);
427       InitialAssignment ia = m.createInitialAssignment();
428       ListOf lo = m.getListOfInitialAssignments();
429       assertTrue( lo == m.getInitialAssignment(0).getParentSBMLObject() );
430       assertTrue( lo == ia.getParentSBMLObject() );
431       assertTrue( m == lo.getParentSBMLObject() );
432     }
433 
test_KineticLaw_Parameter_parent_add()434     public void test_KineticLaw_Parameter_parent_add()
435     {
436       KineticLaw kl = new KineticLaw(2,4);
437       Parameter p = new Parameter(2,4);
438       p.setId("jake");
439       kl.addParameter(p);
440       p = null;
441       assertTrue( kl.getNumParameters() == 1 );
442       assertTrue( kl.getParameter(0).getId() ==  "jake" );
443       ListOfParameters lop = kl.getListOfParameters();
444       assertTrue( kl == lop.getParentSBMLObject() );
445       assertTrue( lop == kl.getParameter(0).getParentSBMLObject() );
446       kl = null;
447     }
448 
test_KineticLaw_Parameter_parent_create()449     public void test_KineticLaw_Parameter_parent_create()
450     {
451       KineticLaw kl = new KineticLaw(2,4);
452       Parameter p = kl.createParameter();
453       assertTrue( kl.getNumParameters() == 1 );
454       ListOfParameters lop = kl.getListOfParameters();
455       assertTrue( kl == lop.getParentSBMLObject() );
456       assertTrue( lop == p.getParentSBMLObject() );
457       assertTrue( lop == kl.getParameter(0).getParentSBMLObject() );
458       kl = null;
459     }
460 
test_KineticLaw_Parameter_parent_create_model()461     public void test_KineticLaw_Parameter_parent_create_model()
462     {
463       Model m = new Model(2,4);
464       Reaction r = m.createReaction();
465       KineticLaw kl = m.createKineticLaw();
466       Parameter p = m.createKineticLawParameter();
467       assertTrue( kl.getNumParameters() == 1 );
468       ListOfParameters lop = kl.getListOfParameters();
469       assertTrue( r == kl.getParentSBMLObject() );
470       assertTrue( kl == lop.getParentSBMLObject() );
471       assertTrue( lop == p.getParentSBMLObject() );
472       assertTrue( lop == kl.getParameter(0).getParentSBMLObject() );
473       kl = null;
474     }
475 
test_KineticLaw_parent_NULL()476     public void test_KineticLaw_parent_NULL()
477     {
478       Reaction r = new Reaction(2,4);
479       KineticLaw kl = r.createKineticLaw();
480       Parameter p = kl.createParameter();
481       assertTrue( r == kl.getParentSBMLObject() );
482       assertTrue( r == p.getAncestorOfType(libsbml.SBML_REACTION) );
483       assertTrue( kl == p.getAncestorOfType(libsbml.SBML_KINETIC_LAW) );
484       KineticLaw kl1 = kl.clone();
485       assertTrue( kl1.getParentSBMLObject() == null );
486       assertTrue( kl1.getParameter(0).getAncestorOfType(libsbml.SBML_REACTION) == null );
487       assertTrue( kl1 == kl1.getParameter(0).getAncestorOfType(libsbml.SBML_KINETIC_LAW) );
488       r = null;
489     }
490 
test_KineticLaw_parent_add()491     public void test_KineticLaw_parent_add()
492     {
493       KineticLaw kl = new KineticLaw(2,4);
494       kl.setMath(libsbml.parseFormula("1"));
495       Reaction r = new Reaction(2, 4);
496       r.setKineticLaw(kl);
497       assertTrue( r == r.getKineticLaw().getParentSBMLObject() );
498       r = null;
499     }
500 
test_KineticLaw_parent_create()501     public void test_KineticLaw_parent_create()
502     {
503       Reaction r = new Reaction(2,4);
504       KineticLaw kl = r.createKineticLaw();
505       assertTrue( r == kl.getParentSBMLObject() );
506       r = null;
507     }
508 
test_KineticLaw_parent_create_model()509     public void test_KineticLaw_parent_create_model()
510     {
511       Model m = new Model(2,4);
512       Reaction r = m.createReaction();
513       KineticLaw kl = r.createKineticLaw();
514       assertTrue( r == kl.getParentSBMLObject() );
515       assertTrue( r == r.getKineticLaw().getParentSBMLObject() );
516       r = null;
517     }
518 
test_Model_parent_add()519     public void test_Model_parent_add()
520     {
521       SBMLDocument d = new SBMLDocument(2,4);
522       Model m = new Model(2,4);
523       d.setModel(m);
524       assertTrue( d == d.getModel().getParentSBMLObject() );
525       d = null;
526     }
527 
test_Model_parent_create()528     public void test_Model_parent_create()
529     {
530       SBMLDocument d = new SBMLDocument(2,4);
531       Model m = d.createModel();
532       assertTrue( d == m.getParentSBMLObject() );
533       d = null;
534     }
535 
test_Parameter_parent_NULL()536     public void test_Parameter_parent_NULL()
537     {
538       SBMLDocument d = new SBMLDocument();
539       Model m = d.createModel();
540       Parameter c = m.createParameter();
541       Parameter c1 = c.clone();
542       d = null;
543       assertTrue( c1.getAncestorOfType(libsbml.SBML_MODEL) == null );
544       assertTrue( c1.getParentSBMLObject() == null );
545       assertEquals(c1.getSBMLDocument(),null);
546       c1 = null;
547     }
548 
test_Parameter_parent_add()549     public void test_Parameter_parent_add()
550     {
551       Parameter ia = new Parameter(2,4);
552       Model m = new Model(2,4);
553       ia.setId("p");
554       m.addParameter(ia);
555       ia = null;
556       ListOf lo = m.getListOfParameters();
557       assertTrue( lo == m.getParameter(0).getParentSBMLObject() );
558       assertTrue( m == lo.getParentSBMLObject() );
559     }
560 
test_Parameter_parent_create()561     public void test_Parameter_parent_create()
562     {
563       Model m = new Model(2,4);
564       Parameter p = m.createParameter();
565       ListOf lo = m.getListOfParameters();
566       assertTrue( lo == m.getParameter(0).getParentSBMLObject() );
567       assertTrue( lo == p.getParentSBMLObject() );
568       assertTrue( m == lo.getParentSBMLObject() );
569     }
570 
test_RateRule_parent_create()571     public void test_RateRule_parent_create()
572     {
573       Model m = new Model(2,4);
574       RateRule r = m.createRateRule();
575       ListOf lo = m.getListOfRules();
576       assertTrue( lo == m.getRule(0).getParentSBMLObject() );
577       assertTrue( lo == r.getParentSBMLObject() );
578       assertTrue( m == lo.getParentSBMLObject() );
579     }
580 
test_Reaction_parent_NULL()581     public void test_Reaction_parent_NULL()
582     {
583       SBMLDocument d = new SBMLDocument();
584       Model m = d.createModel();
585       Reaction c = m.createReaction();
586       SpeciesReference sr = c.createReactant();
587       KineticLaw kl = c.createKineticLaw();
588       assertTrue( c.getAncestorOfType(libsbml.SBML_MODEL) == m );
589       assertEquals(c.getSBMLDocument(),d);
590       assertTrue( sr.getAncestorOfType(libsbml.SBML_REACTION) == c );
591       assertTrue( kl.getAncestorOfType(libsbml.SBML_REACTION) == c );
592       Reaction c1 = c.clone();
593       d = null;
594       assertTrue( c1.getAncestorOfType(libsbml.SBML_MODEL) == null );
595       assertTrue( c1.getParentSBMLObject() == null );
596       assertEquals(c1.getSBMLDocument(),null);
597       SpeciesReference sr1 = c1.getReactant(0);
598       assertTrue( sr1.getAncestorOfType(libsbml.SBML_MODEL) == null );
599       assertTrue( sr1.getAncestorOfType(libsbml.SBML_REACTION) == c1 );
600       assertEquals(sr1.getSBMLDocument(),null);
601       assertTrue( c1.getKineticLaw().getAncestorOfType(libsbml.SBML_MODEL) == null );
602       assertTrue( c1.getKineticLaw().getAncestorOfType(libsbml.SBML_REACTION) == c1 );
603       assertEquals(c1.getKineticLaw().getSBMLDocument(),null);
604       c1 = null;
605     }
606 
test_Reaction_parent_add()607     public void test_Reaction_parent_add()
608     {
609       Reaction ia = new Reaction(2,4);
610       Model m = new Model(2,4);
611       ia.setId("k");
612       m.addReaction(ia);
613       ia = null;
614       ListOf lo = m.getListOfReactions();
615       assertTrue( lo == m.getReaction(0).getParentSBMLObject() );
616       assertTrue( m == lo.getParentSBMLObject() );
617     }
618 
test_Reaction_parent_create()619     public void test_Reaction_parent_create()
620     {
621       Model m = new Model(2,4);
622       Reaction r = m.createReaction();
623       ListOf lo = m.getListOfReactions();
624       assertTrue( lo == m.getReaction(0).getParentSBMLObject() );
625       assertTrue( lo == r.getParentSBMLObject() );
626       assertTrue( m == lo.getParentSBMLObject() );
627     }
628 
test_Rule_parent_add()629     public void test_Rule_parent_add()
630     {
631       Rule ia = new RateRule(2,4);
632       ia.setVariable("a");
633       ia.setMath(libsbml.parseFormula("9"));
634       Model m = new Model(2,4);
635       m.addRule(ia);
636       ia = null;
637       ListOf lo = m.getListOfRules();
638       assertTrue( lo == m.getRule(0).getParentSBMLObject() );
639       assertTrue( m == lo.getParentSBMLObject() );
640     }
641 
test_SpeciesReference_Modifier_parent_add()642     public void test_SpeciesReference_Modifier_parent_add()
643     {
644       ModifierSpeciesReference sr = new ModifierSpeciesReference(2,4);
645       sr.setSpecies("s");
646       Reaction r = new Reaction(2,4);
647       r.addModifier(sr);
648       sr = null;
649       ListOf lo = r.getListOfModifiers();
650       assertTrue( lo == r.getModifier(0).getParentSBMLObject() );
651       assertTrue( r == lo.getParentSBMLObject() );
652     }
653 
test_SpeciesReference_Modifier_parent_create()654     public void test_SpeciesReference_Modifier_parent_create()
655     {
656       Reaction r = new Reaction(2,4);
657       ModifierSpeciesReference sr = r.createModifier();
658       ListOf lo = r.getListOfModifiers();
659       assertTrue( lo == sr.getParentSBMLObject() );
660       assertTrue( lo == r.getModifier(0).getParentSBMLObject() );
661       assertTrue( r == lo.getParentSBMLObject() );
662     }
663 
test_SpeciesReference_Modifier_parent_create_model()664     public void test_SpeciesReference_Modifier_parent_create_model()
665     {
666       Model m = new Model(2,4);
667       Reaction r = m.createReaction();
668       ModifierSpeciesReference sr = m.createModifier();
669       ListOf lo = r.getListOfModifiers();
670       assertTrue( lo == sr.getParentSBMLObject() );
671       assertTrue( lo == r.getModifier(0).getParentSBMLObject() );
672       assertTrue( r == lo.getParentSBMLObject() );
673     }
674 
test_SpeciesReference_Product_parent_add()675     public void test_SpeciesReference_Product_parent_add()
676     {
677       SpeciesReference sr = new SpeciesReference(2,4);
678       Reaction r = new Reaction(2,4);
679       sr.setSpecies("p");
680       r.addProduct(sr);
681       sr = null;
682       ListOf lo = r.getListOfProducts();
683       assertTrue( lo == r.getProduct(0).getParentSBMLObject() );
684       assertTrue( r == lo.getParentSBMLObject() );
685     }
686 
test_SpeciesReference_Product_parent_create()687     public void test_SpeciesReference_Product_parent_create()
688     {
689       Reaction r = new Reaction(2,4);
690       SpeciesReference sr = r.createProduct();
691       ListOf lo = r.getListOfProducts();
692       assertTrue( lo == r.getProduct(0).getParentSBMLObject() );
693       assertTrue( lo == sr.getParentSBMLObject() );
694       assertTrue( r == lo.getParentSBMLObject() );
695     }
696 
test_SpeciesReference_Product_parent_create_model()697     public void test_SpeciesReference_Product_parent_create_model()
698     {
699       Model m = new Model(2,4);
700       Reaction r = m.createReaction();
701       SpeciesReference sr = m.createProduct();
702       ListOf lo = r.getListOfProducts();
703       assertTrue( lo == r.getProduct(0).getParentSBMLObject() );
704       assertTrue( lo == sr.getParentSBMLObject() );
705       assertTrue( r == lo.getParentSBMLObject() );
706     }
707 
test_SpeciesReference_Reactant_parent_add()708     public void test_SpeciesReference_Reactant_parent_add()
709     {
710       SpeciesReference sr = new SpeciesReference(2,4);
711       Reaction r = new Reaction(2,4);
712       sr.setSpecies("s");
713       r.addReactant(sr);
714       sr = null;
715       ListOf lo = r.getListOfReactants();
716       assertTrue( lo == r.getReactant(0).getParentSBMLObject() );
717       assertTrue( r == lo.getParentSBMLObject() );
718     }
719 
test_SpeciesReference_Reactant_parent_create()720     public void test_SpeciesReference_Reactant_parent_create()
721     {
722       Reaction r = new Reaction(2,4);
723       SpeciesReference sr = r.createReactant();
724       ListOf lo = r.getListOfReactants();
725       assertTrue( lo == r.getReactant(0).getParentSBMLObject() );
726       assertTrue( lo == sr.getParentSBMLObject() );
727       assertTrue( r == lo.getParentSBMLObject() );
728     }
729 
test_SpeciesReference_Reactant_parent_create_model()730     public void test_SpeciesReference_Reactant_parent_create_model()
731     {
732       Model m = new Model(2,4);
733       Reaction r = m.createReaction();
734       SpeciesReference sr = m.createReactant();
735       ListOf lo = r.getListOfReactants();
736       assertTrue( lo == r.getReactant(0).getParentSBMLObject() );
737       assertTrue( lo == sr.getParentSBMLObject() );
738       assertTrue( r == lo.getParentSBMLObject() );
739     }
740 
test_SpeciesType_parent_NULL()741     public void test_SpeciesType_parent_NULL()
742     {
743       SBMLDocument d = new SBMLDocument(2,4);
744       Model m = d.createModel();
745       SpeciesType c = m.createSpeciesType();
746       SpeciesType c1 = c.clone();
747       d = null;
748       assertTrue( c1.getAncestorOfType(libsbml.SBML_MODEL) == null );
749       assertTrue( c1.getParentSBMLObject() == null );
750       assertEquals(c1.getSBMLDocument(),null);
751       c1 = null;
752     }
753 
test_SpeciesType_parent_add()754     public void test_SpeciesType_parent_add()
755     {
756       SpeciesType ia = new SpeciesType(2,4);
757       ia.setId("s");
758       Model m = new Model(2,4);
759       m.addSpeciesType(ia);
760       ia = null;
761       ListOf lo = m.getListOfSpeciesTypes();
762       assertTrue( lo == m.getSpeciesType(0).getParentSBMLObject() );
763       assertTrue( m == lo.getParentSBMLObject() );
764     }
765 
test_SpeciesType_parent_create()766     public void test_SpeciesType_parent_create()
767     {
768       Model m = new Model(2,4);
769       SpeciesType st = m.createSpeciesType();
770       ListOf lo = m.getListOfSpeciesTypes();
771       assertTrue( lo == m.getSpeciesType(0).getParentSBMLObject() );
772       assertTrue( lo == st.getParentSBMLObject() );
773       assertTrue( m == lo.getParentSBMLObject() );
774     }
775 
test_Species_parent_NULL()776     public void test_Species_parent_NULL()
777     {
778       SBMLDocument d = new SBMLDocument();
779       Model m = d.createModel();
780       Species c = m.createSpecies();
781       Species c1 = c.clone();
782       d = null;
783       assertTrue( c1.getAncestorOfType(libsbml.SBML_MODEL) == null );
784       assertTrue( c1.getParentSBMLObject() == null );
785       assertEquals(c1.getSBMLDocument(),null);
786       c1 = null;
787     }
788 
test_Species_parent_add()789     public void test_Species_parent_add()
790     {
791       Species ia = new Species(2,4);
792       ia.setId("s");
793       ia.setCompartment("c");
794       Model m = new Model(2,4);
795       m.addSpecies(ia);
796       ia = null;
797       ListOf lo = m.getListOfSpecies();
798       assertTrue( lo == m.getSpecies(0).getParentSBMLObject() );
799       assertTrue( m == lo.getParentSBMLObject() );
800     }
801 
test_Species_parent_create()802     public void test_Species_parent_create()
803     {
804       Model m = new Model(2,4);
805       Species s = m.createSpecies();
806       ListOf lo = m.getListOfSpecies();
807       assertTrue( lo == s.getParentSBMLObject() );
808       assertTrue( lo == m.getSpecies(0).getParentSBMLObject() );
809       assertTrue( m == lo.getParentSBMLObject() );
810     }
811 
test_StoichiometryMath_parent_add()812     public void test_StoichiometryMath_parent_add()
813     {
814       StoichiometryMath m = new StoichiometryMath(2,4);
815       m.setMath(libsbml.parseFormula("1"));
816       SpeciesReference sr = new SpeciesReference(2, 4);
817       sr.setStoichiometryMath(m);
818       m = null;
819       assertTrue( sr == sr.getStoichiometryMath().getParentSBMLObject() );
820       sr = null;
821     }
822 
test_Trigger_parent_add()823     public void test_Trigger_parent_add()
824     {
825       Trigger d = new Trigger(2,4);
826       d.setMath(libsbml.parseFormula("true"));
827       Event e = new Event(2, 4);
828       e.setTrigger(d);
829       d = null;
830       assertTrue( e == e.getTrigger().getParentSBMLObject() );
831       e = null;
832     }
833 
test_UnitDefinition_parent_NULL()834     public void test_UnitDefinition_parent_NULL()
835     {
836       SBMLDocument d = new SBMLDocument();
837       Model m = d.createModel();
838       UnitDefinition c = m.createUnitDefinition();
839       Unit u = c.createUnit();
840       assertTrue( u.getAncestorOfType(libsbml.SBML_UNIT_DEFINITION) == c );
841       UnitDefinition c1 = c.clone();
842       d = null;
843       assertTrue( c1.getAncestorOfType(libsbml.SBML_MODEL) == null );
844       assertTrue( c1.getParentSBMLObject() == null );
845       assertEquals(c1.getSBMLDocument(),null);
846       assertTrue( c1.getUnit(0).getAncestorOfType(libsbml.SBML_UNIT_DEFINITION) == c1 );
847       assertTrue( c1.getUnit(0).getParentSBMLObject() != null );
848       assertEquals(c1.getUnit(0).getSBMLDocument(),null);
849       c1 = null;
850     }
851 
test_UnitDefinition_parent_add()852     public void test_UnitDefinition_parent_add()
853     {
854       UnitDefinition ia = new UnitDefinition(2,4);
855       Model m = new Model(2,4);
856       ia.setId("u");
857       ia.createUnit();
858       m.addUnitDefinition(ia);
859       ia = null;
860       ListOf lo = m.getListOfUnitDefinitions();
861       assertTrue( lo == m.getUnitDefinition(0).getParentSBMLObject() );
862       assertTrue( m == lo.getParentSBMLObject() );
863     }
864 
test_UnitDefinition_parent_create()865     public void test_UnitDefinition_parent_create()
866     {
867       Model m = new Model(2,4);
868       UnitDefinition ud = m.createUnitDefinition();
869       ListOf lo = m.getListOfUnitDefinitions();
870       assertTrue( lo == m.getUnitDefinition(0).getParentSBMLObject() );
871       assertTrue( lo == ud.getParentSBMLObject() );
872       assertTrue( m == lo.getParentSBMLObject() );
873     }
874 
test_Unit_parent_add()875     public void test_Unit_parent_add()
876     {
877       UnitDefinition ud = new UnitDefinition(2,4);
878       Unit u = new Unit(2,4);
879       u.setKind(libsbml.UNIT_KIND_MOLE);
880       ud.addUnit(u);
881       u = null;
882       assertTrue( ud.getNumUnits() == 1 );
883       ListOf lo = ud.getListOfUnits();
884       assertTrue( lo == ud.getUnit(0).getParentSBMLObject() );
885       assertTrue( ud == lo.getParentSBMLObject() );
886       ud = null;
887     }
888 
test_Unit_parent_create()889     public void test_Unit_parent_create()
890     {
891       UnitDefinition ud = new UnitDefinition(2,4);
892       Unit u = ud.createUnit();
893       assertTrue( ud.getNumUnits() == 1 );
894       ListOf lo = ud.getListOfUnits();
895       assertTrue( lo == ud.getUnit(0).getParentSBMLObject() );
896       assertTrue( lo == u.getParentSBMLObject() );
897       assertTrue( ud == lo.getParentSBMLObject() );
898       ud = null;
899     }
900 
test_Unit_parent_create_model()901     public void test_Unit_parent_create_model()
902     {
903       Model m = new Model(2,4);
904       UnitDefinition ud = m.createUnitDefinition();
905       Unit u = m.createUnit();
906       assertTrue( ud.getNumUnits() == 1 );
907       ListOf lo = ud.getListOfUnits();
908       assertTrue( lo == ud.getUnit(0).getParentSBMLObject() );
909       assertTrue( lo == u.getParentSBMLObject() );
910       assertTrue( ud == lo.getParentSBMLObject() );
911       ud = null;
912     }
913 
914   }
915 }
916