1 /**
2 * Filename : TestLayout.cpp
3 * Description : Unit tests for Layout
4 * Organization: European Media Laboratories Research gGmbH
5 * Created : 2005-05-03
6 *
7 * <!--------------------------------------------------------------------------
8 * This file is part of libSBML. Please visit http://sbml.org for more
9 * information about SBML, and the latest version of libSBML.
10 *
11 * Copyright (C) 2020 jointly by the following organizations:
12 * 1. California Institute of Technology, Pasadena, CA, USA
13 * 2. University of Heidelberg, Heidelberg, Germany
14 * 3. University College London, London, UK
15 *
16 * Copyright (C) 2019 jointly by the following organizations:
17 * 1. California Institute of Technology, Pasadena, CA, USA
18 * 2. University of Heidelberg, Heidelberg, Germany
19 *
20 * Copyright (C) 2013-2018 jointly by the following organizations:
21 * 1. California Institute of Technology, Pasadena, CA, USA
22 * 2. EMBL European Bioinformatics Institute (EMBL-EBI), Hinxton, UK
23 * 3. University of Heidelberg, Heidelberg, Germany
24 *
25 * Copyright (C) 2009-2013 jointly by the following organizations:
26 * 1. California Institute of Technology, Pasadena, CA, USA
27 * 2. EMBL European Bioinformatics Institute (EMBL-EBI), Hinxton, UK
28 *
29 * Copyright (C) 2004-2008 by European Media Laboratories Research gGmbH,
30 * Heidelberg, Germany
31 *
32 * This library is free software; you can redistribute it and/or modify it
33 * under the terms of the GNU Lesser General Public License as published by
34 * the Free Software Foundation. A copy of the license agreement is provided
35 * in the file named "LICENSE.txt" included with this software distribution
36 * and also available online as http://sbml.org/software/libsbml/license.html
37 * ------------------------------------------------------------------------ -->
38 */
39
40 #include <sbml/common/common.h>
41 #include <sbml/common/extern.h>
42
43 #include <sbml/packages/layout/sbml/Layout.h>
44 #include <sbml/packages/layout/sbml/GraphicalObject.h>
45 #include <sbml/packages/layout/sbml/GeneralGlyph.h>
46 #include <sbml/packages/layout/sbml/CompartmentGlyph.h>
47 #include <sbml/packages/layout/sbml/SpeciesGlyph.h>
48 #include <sbml/packages/layout/sbml/ReactionGlyph.h>
49 #include <sbml/packages/layout/sbml/TextGlyph.h>
50
51 #include <check.h>
52
53 LIBSBML_CPP_NAMESPACE_USE
54
55 BEGIN_C_DECLS
56
57 static Layout * L;
58 static LayoutPkgNamespaces* LN;
59
60 void
LayoutTest_setup(void)61 LayoutTest_setup (void)
62 {
63 LN = new LayoutPkgNamespaces();
64 L = new (std::nothrow) Layout(LN);
65
66 if (L == NULL)
67 {
68 fail("new(std::nothrow) Layout() returned a NULL pointer.");
69 }
70
71 }
72
73 void
LayoutTest_teardown(void)74 LayoutTest_teardown (void)
75 {
76 delete L;
77 delete LN;
78 }
79
START_TEST(test_Layout_new)80 START_TEST ( test_Layout_new )
81 {
82 fail_unless( L->getTypeCode() == SBML_LAYOUT_LAYOUT );
83 fail_unless( L->getMetaId() == "" );
84 // fail_unless( L->getNotes() == "" );
85 // fail_unless( L->getAnnotation() == "" );
86 fail_unless( L->getId() == "" );
87 fail_unless( !L->isSetId());
88 Dimensions* dim=(L->getDimensions());
89 fail_unless (dim->getWidth() == 0.0 );
90 fail_unless (dim->getHeight() == 0.0 );
91 fail_unless (dim->getDepth() == 0.0 );
92
93 fail_unless ( L->getNumCompartmentGlyphs() == 0 );
94 fail_unless ( L->getNumSpeciesGlyphs() == 0 );
95 fail_unless ( L->getNumReactionGlyphs() == 0 );
96 fail_unless ( L->getNumTextGlyphs() == 0 );
97 fail_unless ( L->getNumAdditionalGraphicalObjects() == 0 );
98 }
99 END_TEST
100
START_TEST(test_Layout_new_with_id_and_dimensions)101 START_TEST ( test_Layout_new_with_id_and_dimensions )
102 {
103 std::string id="TestLayoutId";
104 Dimensions dimensions=Dimensions(LN,-1.1,2.2,3.3);
105 Layout* l=new Layout(LN,id,&dimensions);
106 fail_unless( l->getTypeCode() == SBML_LAYOUT_LAYOUT );
107 fail_unless( l->getMetaId() == "" );
108 // fail_unless( l->getNotes() == "" );
109 // fail_unless( l->getAnnotation() == "" );
110 fail_unless( l->getId() == id );
111 fail_unless( l->isSetId());
112 Dimensions* dim=(l->getDimensions());
113 fail_unless (dim->getWidth() == dimensions.getWidth() );
114 fail_unless (dim->getHeight() == dimensions.getHeight() );
115 fail_unless (dim->getDepth() == dimensions.getDepth() );
116
117 fail_unless ( l->getNumCompartmentGlyphs() == 0 );
118 fail_unless ( l->getNumSpeciesGlyphs() == 0 );
119 fail_unless ( l->getNumReactionGlyphs() == 0 );
120 fail_unless ( l->getNumTextGlyphs() == 0 );
121 fail_unless ( l->getNumAdditionalGraphicalObjects() == 0 );
122 delete l;
123 }
124 END_TEST
125
START_TEST(test_Layout_setId)126 START_TEST ( test_Layout_setId )
127 {
128 std::string id="TestLayoutId";
129 L->setId(id);
130 fail_unless(L->isSetId());
131 fail_unless(L->getId() == id);
132 }
133 END_TEST
134
START_TEST(test_Layout_setDimensions)135 START_TEST ( test_Layout_setDimensions )
136 {
137 Dimensions dimensions=Dimensions(LN,-1.1,2.2,-3.3);
138 L->setDimensions(&dimensions);
139 Dimensions* dim=(L->getDimensions());
140 fail_unless(dim->getWidth() == dimensions.getWidth());
141 fail_unless(dim->getHeight() == dimensions.getHeight());
142 fail_unless(dim->getDepth() == dimensions.getDepth());
143 }
144 END_TEST
145
START_TEST(test_Layout_addCompartmentGlyph)146 START_TEST ( test_Layout_addCompartmentGlyph )
147 {
148 CompartmentGlyph* cg=new CompartmentGlyph();
149 L->addCompartmentGlyph(cg);
150 fail_unless ( L->getNumCompartmentGlyphs() == 1 );
151 delete cg;
152 }
153 END_TEST
154
START_TEST(test_Layout_addSpeciesGlyph)155 START_TEST ( test_Layout_addSpeciesGlyph )
156 {
157 SpeciesGlyph* sg=new SpeciesGlyph();
158 L->addSpeciesGlyph(sg);
159 fail_unless ( L->getNumSpeciesGlyphs() == 1 );
160 delete sg;
161 }
162 END_TEST
163
START_TEST(test_Layout_addReactionGlyph)164 START_TEST ( test_Layout_addReactionGlyph )
165 {
166 ReactionGlyph* rg=new ReactionGlyph();
167 L->addReactionGlyph(rg);
168 fail_unless ( L->getNumReactionGlyphs() == 1 );
169
170 delete rg;
171 }
172 END_TEST
173
START_TEST(test_Layout_addTextGlyph)174 START_TEST ( test_Layout_addTextGlyph )
175 {
176 TextGlyph* tg=new TextGlyph();
177 L->addTextGlyph(tg);
178 fail_unless ( L->getNumTextGlyphs() == 1 );
179
180 delete tg;
181 }
182 END_TEST
183
START_TEST(test_Layout_addAdditionalGraphicalObject)184 START_TEST ( test_Layout_addAdditionalGraphicalObject )
185 {
186 GraphicalObject* ago=new GraphicalObject();
187 L->addAdditionalGraphicalObject(ago);
188 fail_unless ( L->getNumAdditionalGraphicalObjects() == 1 );
189 delete ago;
190 }
191 END_TEST
192
193
START_TEST(test_Layout_addGeneralGlyph)194 START_TEST ( test_Layout_addGeneralGlyph )
195 {
196 GeneralGlyph* ago=new GeneralGlyph();
197 L->addGeneralGlyph(ago);
198 fail_unless ( L->getNumGeneralGlyphs() == 1 );
199 delete ago;
200 }
201 END_TEST
202
START_TEST(test_Layout_getNumCompartmentGlyphs)203 START_TEST ( test_Layout_getNumCompartmentGlyphs )
204 {
205 std::string id1="TestCompartment_1";
206 std::string id2="TestCompartment_2";
207 std::string id3="TestCompartment_3";
208 std::string id4="TestCompartment_4";
209 std::string id5="TestCompartment_5";
210 CompartmentGlyph* cg1=new CompartmentGlyph(LN,id1);
211 CompartmentGlyph* cg2=new CompartmentGlyph(LN,id2);
212 CompartmentGlyph* cg3=new CompartmentGlyph(LN,id3);
213 CompartmentGlyph* cg4=new CompartmentGlyph(LN,id4);
214 CompartmentGlyph* cg5=new CompartmentGlyph(LN,id5);
215 L->addCompartmentGlyph(cg1);
216 L->addCompartmentGlyph(cg2);
217 L->addCompartmentGlyph(cg3);
218 L->addCompartmentGlyph(cg4);
219 L->addCompartmentGlyph(cg5);
220 fail_unless( L->getNumCompartmentGlyphs() == 5);
221 delete cg1;
222 delete cg2;
223 delete cg3;
224 delete cg4;
225 delete cg5;
226 }
227 END_TEST
228
START_TEST(test_Layout_getNumGeneralGlyphs)229 START_TEST ( test_Layout_getNumGeneralGlyphs )
230 {
231 GeneralGlyph* cg1=new GeneralGlyph(LN);
232 GeneralGlyph* cg2=new GeneralGlyph(LN);
233 GeneralGlyph* cg3=new GeneralGlyph(LN);
234 GeneralGlyph* cg4=new GeneralGlyph(LN);
235 GeneralGlyph* cg5=new GeneralGlyph(LN);
236 L->addGeneralGlyph(cg1);
237 L->addGeneralGlyph(cg2);
238 L->addGeneralGlyph(cg3);
239 L->addGeneralGlyph(cg4);
240 L->addGeneralGlyph(cg5);
241 fail_unless( L->getNumGeneralGlyphs() == 5);
242 delete cg1;
243 delete cg2;
244 delete cg3;
245 delete cg4;
246 delete cg5;
247 }
248 END_TEST
249
START_TEST(test_Layout_getNumSpeciesGlyphs)250 START_TEST ( test_Layout_getNumSpeciesGlyphs )
251 {
252 std::string id1="TestSpecies_1";
253 std::string id2="TestSpecies_2";
254 std::string id3="TestSpecies_3";
255 std::string id4="TestSpecies_4";
256 std::string id5="TestSpecies_5";
257 SpeciesGlyph* sg1=new SpeciesGlyph(LN,id1);
258 SpeciesGlyph* sg2=new SpeciesGlyph(LN,id2);
259 SpeciesGlyph* sg3=new SpeciesGlyph(LN,id3);
260 SpeciesGlyph* sg4=new SpeciesGlyph(LN,id4);
261 SpeciesGlyph* sg5=new SpeciesGlyph(LN,id5);
262 L->addSpeciesGlyph(sg1);
263 L->addSpeciesGlyph(sg2);
264 L->addSpeciesGlyph(sg3);
265 L->addSpeciesGlyph(sg4);
266 L->addSpeciesGlyph(sg5);
267 fail_unless( L->getNumSpeciesGlyphs() == 5);
268 delete sg1;
269 delete sg2;
270 delete sg3;
271 delete sg4;
272 delete sg5;
273 }
274 END_TEST
275
276
START_TEST(test_Layout_getNumReactionGlyphs)277 START_TEST ( test_Layout_getNumReactionGlyphs )
278 {
279 std::string id1="TestReaction_1";
280 std::string id2="TestReaction_2";
281 std::string id3="TestReaction_3";
282 std::string id4="TestReaction_4";
283 std::string id5="TestReaction_5";
284 ReactionGlyph* rg1=new ReactionGlyph(LN,id1);
285 ReactionGlyph* rg2=new ReactionGlyph(LN,id2);
286 ReactionGlyph* rg3=new ReactionGlyph(LN,id3);
287 ReactionGlyph* rg4=new ReactionGlyph(LN,id4);
288 ReactionGlyph* rg5=new ReactionGlyph(LN,id5);
289 L->addReactionGlyph(rg1);
290 L->addReactionGlyph(rg2);
291 L->addReactionGlyph(rg3);
292 L->addReactionGlyph(rg4);
293 L->addReactionGlyph(rg5);
294 fail_unless( L->getNumReactionGlyphs() == 5);
295 delete rg1;
296 delete rg2;
297 delete rg3;
298 delete rg4;
299 delete rg5;
300 }
301 END_TEST
302
303
START_TEST(test_Layout_getNumTextGlyphs)304 START_TEST ( test_Layout_getNumTextGlyphs )
305 {
306 std::string id1="TestText_1";
307 std::string id2="TestText_2";
308 std::string id3="TestText_3";
309 std::string id4="TestText_4";
310 std::string id5="TestText_5";
311 TextGlyph* tg1=new TextGlyph(LN,id1);
312 TextGlyph* tg2=new TextGlyph(LN,id2);
313 TextGlyph* tg3=new TextGlyph(LN,id3);
314 TextGlyph* tg4=new TextGlyph(LN,id4);
315 TextGlyph* tg5=new TextGlyph(LN,id5);
316 L->addTextGlyph(tg1);
317 L->addTextGlyph(tg2);
318 L->addTextGlyph(tg3);
319 L->addTextGlyph(tg4);
320 L->addTextGlyph(tg5);
321 fail_unless( L->getNumTextGlyphs() == 5);
322 delete tg1;
323 delete tg2;
324 delete tg3;
325 delete tg4;
326 delete tg5;
327 }
328 END_TEST
329
330
START_TEST(test_Layout_getNumAdditionalGraphicalObjects)331 START_TEST ( test_Layout_getNumAdditionalGraphicalObjects )
332 {
333 std::string id1="TestGraphicalObject_1";
334 std::string id2="TestGraphicalObject_2";
335 std::string id3="TestGraphicalObject_3";
336 std::string id4="TestGraphicalObject_4";
337 std::string id5="TestGraphicalObject_5";
338 GraphicalObject* go1=new GraphicalObject(LN,id1);
339 GraphicalObject* go2=new GraphicalObject(LN,id2);
340 GraphicalObject* go3=new GraphicalObject(LN,id3);
341 GraphicalObject* go4=new GraphicalObject(LN,id4);
342 GraphicalObject* go5=new GraphicalObject(LN,id5);
343 L->addAdditionalGraphicalObject(go1);
344 L->addAdditionalGraphicalObject(go2);
345 L->addAdditionalGraphicalObject(go3);
346 L->addAdditionalGraphicalObject(go4);
347 L->addAdditionalGraphicalObject(go5);
348 fail_unless( L->getNumAdditionalGraphicalObjects() == 5);
349 delete go1;
350 delete go2;
351 delete go3;
352 delete go4;
353 delete go5;
354 }
355 END_TEST
356
START_TEST(test_Layout_createCompartmentGlyph)357 START_TEST ( test_Layout_createCompartmentGlyph )
358 {
359 L->createCompartmentGlyph();
360 L->createCompartmentGlyph();
361 L->createCompartmentGlyph();
362 fail_unless ( L->getNumCompartmentGlyphs() == 3 );
363 }
364 END_TEST
365
START_TEST(test_Layout_createSpeciesGlyph)366 START_TEST ( test_Layout_createSpeciesGlyph )
367 {
368 L->createSpeciesGlyph();
369 L->createSpeciesGlyph();
370 L->createSpeciesGlyph();
371 fail_unless ( L->getNumSpeciesGlyphs() == 3 );
372 }
373 END_TEST
374
375
START_TEST(test_Layout_createReactionGlyph)376 START_TEST ( test_Layout_createReactionGlyph )
377 {
378 L->createReactionGlyph();
379 L->createReactionGlyph();
380 L->createReactionGlyph();
381 fail_unless ( L->getNumReactionGlyphs() == 3 );
382 }
383 END_TEST
384
385
START_TEST(test_Layout_createTextGlyph)386 START_TEST ( test_Layout_createTextGlyph )
387 {
388 L->createTextGlyph();
389 L->createTextGlyph();
390 L->createTextGlyph();
391 fail_unless ( L->getNumTextGlyphs() == 3 );
392 }
393 END_TEST
394
395
START_TEST(test_Layout_createGeneralGlyph)396 START_TEST ( test_Layout_createGeneralGlyph )
397 {
398 L->createGeneralGlyph();
399 L->createGeneralGlyph();
400 L->createGeneralGlyph();
401 fail_unless ( L->getNumGeneralGlyphs() == 3 );
402 }
403 END_TEST
404
START_TEST(test_Layout_createAdditionalGraphicalObject)405 START_TEST ( test_Layout_createAdditionalGraphicalObject )
406 {
407 L->createAdditionalGraphicalObject();
408 L->createAdditionalGraphicalObject();
409 L->createAdditionalGraphicalObject();
410 fail_unless ( L->getNumAdditionalGraphicalObjects() == 3 );
411 }
412 END_TEST
413
414
START_TEST(test_Layout_createSpeciesReferenceGlyph)415 START_TEST ( test_Layout_createSpeciesReferenceGlyph )
416 {
417 SpeciesReferenceGlyph* srg=L->createSpeciesReferenceGlyph();
418 fail_unless(srg == NULL);
419 L->createReactionGlyph();
420 srg=L->createSpeciesReferenceGlyph();
421 fail_unless(srg != NULL);
422 }
423 END_TEST
424
425
START_TEST(test_Layout_createLineSegment)426 START_TEST ( test_Layout_createLineSegment )
427 {
428 LineSegment* ls=L->createLineSegment();
429 fail_unless(ls == NULL);
430 L->createReactionGlyph();
431 ls=L->createLineSegment();
432 fail_unless(ls != NULL);
433 L->createSpeciesReferenceGlyph();
434 ls=L->createLineSegment();
435 fail_unless ( ls != NULL );
436 ReactionGlyph* rg=L->getReactionGlyph(0);
437 fail_unless( rg->getCurve()->getNumCurveSegments() == 1);
438 fail_unless( rg->getSpeciesReferenceGlyph(0)->getCurve()->getNumCurveSegments() == 1);
439 }
440 END_TEST
441
442
START_TEST(test_Layout_createCubicBezier)443 START_TEST ( test_Layout_createCubicBezier )
444 {
445 CubicBezier* cb=L->createCubicBezier();
446 fail_unless(cb == NULL);
447 L->createReactionGlyph();
448 cb=L->createCubicBezier();
449 fail_unless(cb != NULL);
450 L->createSpeciesReferenceGlyph();
451 cb=L->createCubicBezier();
452 fail_unless ( cb != NULL );
453 ReactionGlyph* rg=L->getReactionGlyph(0);
454 fail_unless( rg->getCurve()->getNumCurveSegments() == 1);
455 fail_unless( rg->getSpeciesReferenceGlyph(0)->getCurve()->getNumCurveSegments() == 1);
456 }
457 END_TEST
458
459
460
START_TEST(test_Layout_copyConstructor)461 START_TEST ( test_Layout_copyConstructor )
462 {
463 Layout* l1=new Layout();
464 XMLNode notes;
465 l1->setNotes(¬es);
466 XMLNode annotation;
467 l1->setAnnotation(&annotation);
468 GraphicalObject* go=l1->createCompartmentGlyph();
469 go->setId("go1");
470 go=l1->createCompartmentGlyph();
471 go->setId("go2");
472 go=l1->createCompartmentGlyph();
473 go->setId("go3");
474 go=l1->createSpeciesGlyph();
475 go->setId("go4");
476 go=l1->createSpeciesGlyph();
477 go->setId("go5");
478 go=l1->createSpeciesGlyph();
479 go->setId("go6");
480 go=l1->createSpeciesGlyph();
481 go->setId("go7");
482 go=l1->createSpeciesGlyph();
483 go->setId("go8");
484 go=l1->createSpeciesGlyph();
485 go->setId("go9");
486 go=l1->createSpeciesGlyph();
487 go->setId("go10");
488 go=l1->createReactionGlyph();
489 go->setId("go11");
490 go=l1->createReactionGlyph();
491 go->setId("go12");
492 go=l1->createReactionGlyph();
493 go->setId("go13");
494 go=l1->createReactionGlyph();
495 go->setId("go14");
496 go=l1->createReactionGlyph();
497 go->setId("go15");
498 go=l1->createReactionGlyph();
499 go->setId("go16");
500 go=l1->createReactionGlyph();
501 go->setId("go17");
502 go=l1->createReactionGlyph();
503 go->setId("go18");
504 go=l1->createTextGlyph();
505 go->setId("go19");
506 go=l1->createTextGlyph();
507 go->setId("go20");
508 go=l1->createTextGlyph();
509 go->setId("go21");
510 go=l1->createAdditionalGraphicalObject();
511 go->setId("go22");
512 go=l1->createAdditionalGraphicalObject();
513 go->setId("go23");
514 go=l1->createAdditionalGraphicalObject();
515 go->setId("go24");
516 go=l1->createAdditionalGraphicalObject();
517 go->setId("go25");
518 Layout* l2=new Layout(*l1);
519 delete l2;
520 delete l1;
521 }
522 END_TEST
523
START_TEST(test_Layout_assignmentOperator)524 START_TEST ( test_Layout_assignmentOperator )
525 {
526 Layout* l1=new Layout();
527 XMLNode notes;
528 l1->setNotes(¬es);
529 XMLNode annotation;
530 l1->setAnnotation(&annotation);
531 GraphicalObject* go=l1->createCompartmentGlyph();
532 go->setId("go1");
533 go=l1->createCompartmentGlyph();
534 go->setId("go2");
535 go=l1->createCompartmentGlyph();
536 go->setId("go3");
537 go=l1->createSpeciesGlyph();
538 go->setId("go4");
539 go=l1->createSpeciesGlyph();
540 go->setId("go5");
541 go=l1->createSpeciesGlyph();
542 go->setId("go6");
543 go=l1->createSpeciesGlyph();
544 go->setId("go7");
545 go=l1->createSpeciesGlyph();
546 go->setId("go8");
547 go=l1->createSpeciesGlyph();
548 go->setId("go9");
549 go=l1->createSpeciesGlyph();
550 go->setId("go10");
551 go=l1->createReactionGlyph();
552 go->setId("go11");
553 go=l1->createReactionGlyph();
554 go->setId("go12");
555 go=l1->createReactionGlyph();
556 go->setId("go13");
557 go=l1->createReactionGlyph();
558 go->setId("go14");
559 go=l1->createReactionGlyph();
560 go->setId("go15");
561 go=l1->createReactionGlyph();
562 go->setId("go16");
563 go=l1->createReactionGlyph();
564 go->setId("go17");
565 go=l1->createReactionGlyph();
566 go->setId("go18");
567 go=l1->createTextGlyph();
568 go->setId("go19");
569 go=l1->createTextGlyph();
570 go->setId("go20");
571 go=l1->createTextGlyph();
572 go->setId("go21");
573 go=l1->createAdditionalGraphicalObject();
574 go->setId("go22");
575 go=l1->createAdditionalGraphicalObject();
576 go->setId("go23");
577 go=l1->createAdditionalGraphicalObject();
578 go->setId("go24");
579 go=l1->createAdditionalGraphicalObject();
580 go->setId("go25");
581 Layout l2=*l1;
582 delete l1;
583 }
584 END_TEST
585
586
587 Suite *
create_suite_Layout(void)588 create_suite_Layout (void)
589 {
590 Suite *suite = suite_create("Layout");
591 TCase *tcase = tcase_create("Layout");
592
593 tcase_add_checked_fixture( tcase,
594 LayoutTest_setup,
595 LayoutTest_teardown );
596
597 tcase_add_test ( tcase , test_Layout_new );
598 tcase_add_test ( tcase , test_Layout_new_with_id_and_dimensions );
599 tcase_add_test ( tcase , test_Layout_setId );
600 tcase_add_test ( tcase , test_Layout_setDimensions );
601 tcase_add_test ( tcase , test_Layout_addCompartmentGlyph );
602 tcase_add_test ( tcase , test_Layout_addSpeciesGlyph );
603 tcase_add_test ( tcase , test_Layout_addGeneralGlyph );
604 tcase_add_test ( tcase , test_Layout_addReactionGlyph );
605 tcase_add_test ( tcase , test_Layout_addTextGlyph );
606 tcase_add_test ( tcase , test_Layout_addAdditionalGraphicalObject );
607 tcase_add_test ( tcase , test_Layout_createCompartmentGlyph );
608 tcase_add_test ( tcase , test_Layout_createSpeciesGlyph );
609 tcase_add_test ( tcase , test_Layout_createGeneralGlyph );
610 tcase_add_test ( tcase , test_Layout_createReactionGlyph );
611 tcase_add_test ( tcase , test_Layout_createTextGlyph );
612 tcase_add_test ( tcase , test_Layout_createAdditionalGraphicalObject );
613 tcase_add_test ( tcase , test_Layout_createSpeciesReferenceGlyph );
614 tcase_add_test ( tcase , test_Layout_createLineSegment );
615 tcase_add_test ( tcase , test_Layout_createCubicBezier );
616 tcase_add_test ( tcase , test_Layout_getNumCompartmentGlyphs );
617 tcase_add_test ( tcase , test_Layout_getNumGeneralGlyphs );
618 tcase_add_test ( tcase , test_Layout_getNumSpeciesGlyphs );
619 tcase_add_test ( tcase , test_Layout_getNumReactionGlyphs );
620 tcase_add_test ( tcase , test_Layout_getNumTextGlyphs );
621 tcase_add_test ( tcase , test_Layout_getNumAdditionalGraphicalObjects );
622 tcase_add_test( tcase , test_Layout_copyConstructor );
623 tcase_add_test( tcase , test_Layout_assignmentOperator );
624
625 suite_add_tcase(suite, tcase);
626
627 return suite;
628 }
629
630
631
632 END_C_DECLS
633