17 #include "utilities.hpp"
19 #include "sbml/SBMLDocument.h"
20 #include "sbml/Model.h"
21 #include "sbml/xml/XMLNode.h"
39 #include <sbml/xml/XMLInputStream.h>
68 CPPUNIT_ASSERT(pLayout != NULL);
69 CPPUNIT_ASSERT(pLayout->getListOfLocalRenderInformationObjects().size() == 1);
71 CPPUNIT_ASSERT(pRI != NULL);
72 CPPUNIT_ASSERT(pRI->getListOfColorDefinitions()->size() == 2);
85 CPPUNIT_ASSERT(pLayouts != NULL);
86 CPPUNIT_ASSERT(pLayouts->size() == 1);
87 CPPUNIT_ASSERT(pLayouts->getListOfGlobalRenderInformationObjects().size() == 1);
89 CPPUNIT_ASSERT(pRI != NULL);
90 CPPUNIT_ASSERT(pRI->getListOfColorDefinitions()->size() == 2);
111 CPPUNIT_ASSERT(
false);
114 CPPUNIT_ASSERT(!s.empty());
115 XMLInputStream inputstream(s.c_str(),
false);
116 XMLNode node(inputstream);
117 CPPUNIT_ASSERT(node.getName() ==
"sbml");
118 unsigned int i, iMax = node.getNumChildren();
119 CPPUNIT_ASSERT(iMax > 0);
120 const XMLNode* pModelNode = NULL;
121 const XMLNode* pListOfLayoutsNode = NULL;
122 const XMLNode* pLayoutNode = NULL;
123 const XMLNode* pLoLRINode = NULL;
124 const XMLNode* pLRINode = NULL;
125 const XMLNode* pAnnotationNode = NULL;
127 for (i = 0; i < iMax; ++i)
129 if (node.getChild(i).getName() ==
"model")
131 pModelNode = &node.getChild(i);
136 CPPUNIT_ASSERT(pModelNode != NULL);
137 iMax = pModelNode->getNumChildren();
138 CPPUNIT_ASSERT(iMax > 0);
140 for (i = 0; i < iMax; ++i)
142 if (pModelNode->getChild(i).getName() ==
"annotation")
144 pAnnotationNode = &pModelNode->getChild(i);
149 CPPUNIT_ASSERT(pAnnotationNode != NULL);
150 iMax = pAnnotationNode->getNumChildren();
151 CPPUNIT_ASSERT(iMax > 0);
153 for (i = 0; i < iMax; ++i)
155 if (pAnnotationNode->getChild(i).getName() ==
"listOfLayouts")
157 pListOfLayoutsNode = &pAnnotationNode->getChild(i);
162 CPPUNIT_ASSERT(pListOfLayoutsNode != NULL);
163 iMax = pListOfLayoutsNode->getNumChildren();
164 CPPUNIT_ASSERT(iMax > 0);
166 for (i = 0; i < iMax; ++i)
168 if (pListOfLayoutsNode->getChild(i).getName() ==
"layout")
170 pLayoutNode = &pListOfLayoutsNode->getChild(i);
174 CPPUNIT_ASSERT(pLayoutNode != NULL);
175 iMax = pLayoutNode->getNumChildren();
176 CPPUNIT_ASSERT(iMax > 0);
178 pAnnotationNode = NULL;
180 for (i = 0; i < iMax; ++i)
182 if (pLayoutNode->getChild(i).getName() ==
"annotation")
184 pAnnotationNode = &pLayoutNode->getChild(i);
189 CPPUNIT_ASSERT(pAnnotationNode != NULL);
190 iMax = pAnnotationNode->getNumChildren();
191 CPPUNIT_ASSERT(iMax > 0);
194 for (i = 0; i < iMax; ++i)
196 if (pAnnotationNode->getChild(i).getName() ==
"listOfRenderInformation")
198 pLoLRINode = &pAnnotationNode->getChild(i);
202 CPPUNIT_ASSERT(pLoLRINode != NULL);
203 iMax = pLoLRINode->getNumChildren();
204 CPPUNIT_ASSERT(iMax > 0);
206 for (i = 0; i < iMax; ++i)
208 if (pLoLRINode->getChild(i).getName() ==
"renderInformation")
210 pLRINode = &pLoLRINode->getChild(i);
215 CPPUNIT_ASSERT(pLRINode != NULL);
216 iMax = pLRINode->getNumChildren();
217 CPPUNIT_ASSERT(iMax > 0);
218 const XMLNode* pLoCDNode = NULL;
219 const XMLNode* pCDNode1 = NULL;
220 const XMLNode* pCDNode2 = NULL;
222 for (i = 0; i < iMax; ++i)
224 if (pLRINode->getChild(i).getName() ==
"listOfColorDefinitions")
226 pLoCDNode = &pLRINode->getChild(i);
231 CPPUNIT_ASSERT(pLoCDNode != NULL);
232 iMax = pLoCDNode->getNumChildren();
233 CPPUNIT_ASSERT(iMax > 0);
235 for (i = 0; i < iMax; ++i)
237 if (pLoCDNode->getChild(i).getName() ==
"colorDefinition")
239 if (pCDNode1 == NULL)
241 pCDNode1 = &pLoCDNode->getChild(i);
245 pCDNode2 = &pLoCDNode->getChild(i);
250 CPPUNIT_ASSERT(pCDNode1 != NULL);
251 CPPUNIT_ASSERT(pCDNode2 != NULL);
272 CPPUNIT_ASSERT(
false);
275 CPPUNIT_ASSERT(!s.empty());
276 XMLInputStream inputstream(s.c_str(),
false);
277 XMLNode node(inputstream);
278 CPPUNIT_ASSERT(node.getName() ==
"sbml");
279 unsigned int i, iMax = node.getNumChildren();
280 CPPUNIT_ASSERT(iMax > 0);
281 const XMLNode* pModelNode = NULL;
282 const XMLNode* pListOfLayoutsNode = NULL;
283 const XMLNode* pLayoutNode = NULL;
284 const XMLNode* pLoGRINode = NULL;
285 const XMLNode* pGRINode = NULL;
286 const XMLNode* pAnnotationNode = NULL;
288 for (i = 0; i < iMax; ++i)
290 if (node.getChild(i).getName() ==
"model")
292 pModelNode = &node.getChild(i);
297 CPPUNIT_ASSERT(pModelNode != NULL);
298 iMax = pModelNode->getNumChildren();
299 CPPUNIT_ASSERT(iMax > 0);
301 for (i = 0; i < iMax; ++i)
303 if (pModelNode->getChild(i).getName() ==
"annotation")
305 pAnnotationNode = &pModelNode->getChild(i);
310 CPPUNIT_ASSERT(pAnnotationNode != NULL);
311 iMax = pAnnotationNode->getNumChildren();
312 CPPUNIT_ASSERT(iMax > 0);
314 for (i = 0; i < iMax; ++i)
316 if (pAnnotationNode->getChild(i).getName() ==
"listOfLayouts")
318 pListOfLayoutsNode = &pAnnotationNode->getChild(i);
321 else if (pAnnotationNode->getChild(i).getName() ==
"listOfGlobalRenderInformation")
323 pLoGRINode = &pAnnotationNode->getChild(i);
328 CPPUNIT_ASSERT(pListOfLayoutsNode != NULL);
329 iMax = pListOfLayoutsNode->getNumChildren();
330 CPPUNIT_ASSERT(iMax > 0);
331 pAnnotationNode = NULL;
333 for (i = 0; i < iMax; ++i)
335 if (pListOfLayoutsNode->getChild(i).getName() ==
"layout")
337 pLayoutNode = &pListOfLayoutsNode->getChild(i);
339 else if (pListOfLayoutsNode->getChild(i).getName() ==
"annotation")
341 pAnnotationNode = &pListOfLayoutsNode->getChild(i);
345 CPPUNIT_ASSERT(pLayoutNode != NULL);
346 iMax = pLayoutNode->getNumChildren();
347 CPPUNIT_ASSERT(iMax > 0);
349 CPPUNIT_ASSERT(pAnnotationNode != NULL);
350 iMax = pAnnotationNode->getNumChildren();
351 CPPUNIT_ASSERT(iMax > 0);
353 for (i = 0; i < iMax; ++i)
355 if (pAnnotationNode->getChild(i).getName() ==
"listOfGlobalRenderInformation")
357 pLoGRINode = &pAnnotationNode->getChild(i);
363 CPPUNIT_ASSERT(pLoGRINode != NULL);
364 iMax = pLoGRINode->getNumChildren();
365 CPPUNIT_ASSERT(iMax > 0);
367 for (i = 0; i < iMax; ++i)
369 if (pLoGRINode->getChild(i).getName() ==
"renderInformation")
371 pGRINode = &pLoGRINode->getChild(i);
376 CPPUNIT_ASSERT(pGRINode != NULL);
377 iMax = pGRINode->getNumChildren();
378 CPPUNIT_ASSERT(iMax > 0);
379 const XMLNode* pLoCDNode = NULL;
380 const XMLNode* pCDNode1 = NULL;
381 const XMLNode* pCDNode2 = NULL;
383 for (i = 0; i < iMax; ++i)
385 if (pGRINode->getChild(i).getName() ==
"listOfColorDefinitions")
387 pLoCDNode = &pGRINode->getChild(i);
392 CPPUNIT_ASSERT(pLoCDNode != NULL);
393 iMax = pLoCDNode->getNumChildren();
394 CPPUNIT_ASSERT(iMax > 0);
396 for (i = 0; i < iMax; ++i)
398 if (pLoCDNode->getChild(i).getName() ==
"colorDefinition")
400 if (pCDNode1 == NULL)
402 pCDNode1 = &pLoCDNode->getChild(i);
406 pCDNode2 = &pLoCDNode->getChild(i);
411 CPPUNIT_ASSERT(pCDNode1 != NULL);
412 CPPUNIT_ASSERT(pCDNode2 != NULL);
425 std::ostringstream os;
427 CPPUNIT_ASSERT(!os.str().empty());
428 XMLInputStream inputstream(os.str().c_str(),
false);
429 XMLNode node(inputstream);
430 CPPUNIT_ASSERT(node.getName() ==
"COPASI");
431 unsigned int i, iMax = node.getNumChildren();
432 CPPUNIT_ASSERT(iMax > 0);
433 const XMLNode* pListOfLayoutsNode = NULL;
434 const XMLNode* pLayoutNode = NULL;
435 const XMLNode* pLoLRINode = NULL;
436 const XMLNode* pLRINode = NULL;
438 for (i = 0; i < iMax; ++i)
440 if (node.getChild(i).getName() ==
"ListOfLayouts")
442 pListOfLayoutsNode = &node.getChild(i);
447 CPPUNIT_ASSERT(pListOfLayoutsNode != NULL);
448 iMax = pListOfLayoutsNode->getNumChildren();
449 CPPUNIT_ASSERT(iMax > 0);
451 for (i = 0; i < iMax; ++i)
453 if (pListOfLayoutsNode->getChild(i).getName() ==
"Layout")
455 pLayoutNode = &pListOfLayoutsNode->getChild(i);
460 CPPUNIT_ASSERT(pLayoutNode != NULL);
461 iMax = pLayoutNode->getNumChildren();
462 CPPUNIT_ASSERT(iMax > 0);
464 for (i = 0; i < iMax; ++i)
466 if (pLayoutNode->getChild(i).getName() ==
"ListOfRenderInformation")
468 pLoLRINode = &pLayoutNode->getChild(i);
473 CPPUNIT_ASSERT(pLoLRINode != NULL);
474 iMax = pLoLRINode->getNumChildren();
475 CPPUNIT_ASSERT(iMax > 0);
477 for (i = 0; i < iMax; ++i)
479 if (pLoLRINode->getChild(i).getName() ==
"RenderInformation")
481 pLRINode = &pLoLRINode->getChild(i);
486 CPPUNIT_ASSERT(pLRINode != NULL);
487 iMax = pLRINode->getNumChildren();
488 CPPUNIT_ASSERT(iMax > 0);
489 const XMLNode* pLoCDNode = NULL;
490 const XMLNode* pCDNode1 = NULL;
491 const XMLNode* pCDNode2 = NULL;
493 for (i = 0; i < iMax; ++i)
495 if (pLRINode->getChild(i).getName() ==
"ListOfColorDefinitions")
497 pLoCDNode = &pLRINode->getChild(i);
502 CPPUNIT_ASSERT(pLoCDNode != NULL);
503 iMax = pLoCDNode->getNumChildren();
504 CPPUNIT_ASSERT(iMax > 0);
506 for (i = 0; i < iMax; ++i)
508 if (pLoCDNode->getChild(i).getName() ==
"ColorDefinition")
510 if (pCDNode1 == NULL)
512 pCDNode1 = &pLoCDNode->getChild(i);
516 pCDNode2 = &pLoCDNode->getChild(i);
521 CPPUNIT_ASSERT(pCDNode1 != NULL);
522 CPPUNIT_ASSERT(pCDNode2 != NULL);
535 std::ostringstream os;
537 CPPUNIT_ASSERT(!os.str().empty());
538 XMLInputStream inputstream(os.str().c_str(),
false);
539 XMLNode node(inputstream);
540 CPPUNIT_ASSERT(node.getName() ==
"COPASI");
541 unsigned int i, iMax = node.getNumChildren();
542 CPPUNIT_ASSERT(iMax > 0);
543 const XMLNode* pListOfLayoutsNode = NULL;
544 const XMLNode* pLayoutNode = NULL;
545 const XMLNode* pLoGRINode = NULL;
546 const XMLNode* pGRINode = NULL;
548 for (i = 0; i < iMax; ++i)
550 if (node.getChild(i).getName() ==
"ListOfLayouts")
552 pListOfLayoutsNode = &node.getChild(i);
557 CPPUNIT_ASSERT(pListOfLayoutsNode != NULL);
558 iMax = pListOfLayoutsNode->getNumChildren();
559 CPPUNIT_ASSERT(iMax > 0);
561 for (i = 0; i < iMax; ++i)
563 if (pListOfLayoutsNode->getChild(i).getName() ==
"Layout")
565 pLayoutNode = &pListOfLayoutsNode->getChild(i);
567 else if (pListOfLayoutsNode->getChild(i).getName() ==
"ListOfGlobalRenderInformation")
569 pLoGRINode = &pListOfLayoutsNode->getChild(i);
573 CPPUNIT_ASSERT(pLayoutNode != NULL);
574 iMax = pLayoutNode->getNumChildren();
575 CPPUNIT_ASSERT(iMax > 0);
576 CPPUNIT_ASSERT(pLoGRINode != NULL);
577 iMax = pLoGRINode->getNumChildren();
578 CPPUNIT_ASSERT(iMax > 0);
580 for (i = 0; i < iMax; ++i)
582 if (pLoGRINode->getChild(i).getName() ==
"RenderInformation")
584 pGRINode = &pLoGRINode->getChild(i);
589 CPPUNIT_ASSERT(pGRINode != NULL);
590 iMax = pGRINode->getNumChildren();
591 CPPUNIT_ASSERT(iMax > 0);
592 const XMLNode* pLoCDNode = NULL;
593 const XMLNode* pCDNode1 = NULL;
594 const XMLNode* pCDNode2 = NULL;
596 for (i = 0; i < iMax; ++i)
598 if (pGRINode->getChild(i).getName() ==
"ListOfColorDefinitions")
600 pLoCDNode = &pGRINode->getChild(i);
605 CPPUNIT_ASSERT(pLoCDNode != NULL);
606 iMax = pLoCDNode->getNumChildren();
607 CPPUNIT_ASSERT(iMax > 0);
609 for (i = 0; i < iMax; ++i)
611 if (pLoCDNode->getChild(i).getName() ==
"ColorDefinition")
613 if (pCDNode1 == NULL)
615 pCDNode1 = &pLoCDNode->getChild(i);
619 pCDNode2 = &pLoCDNode->getChild(i);
624 CPPUNIT_ASSERT(pCDNode1 != NULL);
625 CPPUNIT_ASSERT(pCDNode2 != NULL);
637 CPPUNIT_ASSERT(pLayout != NULL);
638 CPPUNIT_ASSERT(pLayout->getListOfLocalRenderInformationObjects().size() == 1);
640 CPPUNIT_ASSERT(pRI != NULL);
641 CPPUNIT_ASSERT(pRI->getListOfColorDefinitions()->size() == 2);
653 CPPUNIT_ASSERT(pLayouts != NULL);
654 CPPUNIT_ASSERT(pLayouts->size() == 1);
655 CPPUNIT_ASSERT(pLayouts->getListOfGlobalRenderInformationObjects().size() == 1);
657 CPPUNIT_ASSERT(pRI != NULL);
658 CPPUNIT_ASSERT(pRI->getListOfColorDefinitions()->size() == 2);
668 CPPUNIT_ASSERT(pModel != NULL);
674 std::set<const CCopasiObject*> changedObjects;
676 CPPUNIT_ASSERT(pCompartment != NULL);
678 CPPUNIT_ASSERT(pObject != NULL);
679 changedObjects.insert(pObject);
689 std::vector<Refresh*>::iterator it2 = refreshes.begin(), endit2 = refreshes.end();
691 while (it2 != endit2)
717 CPPUNIT_ASSERT(pLRI != NULL);
718 pLRI->
setName(
"my_local_render_info");
720 CPPUNIT_ASSERT(pCDef != NULL);
721 pCDef->
setId(
"black");
724 CPPUNIT_ASSERT(pCDef != NULL);
726 pCDef->
setRGBA(255, 0, 0, 255);
729 CPPUNIT_ASSERT(pLayout != NULL);
730 pLayout->addLocalRenderInformation(pLRI);
731 CPPUNIT_ASSERT(pLayout->getListOfLocalRenderInformationObjects().size() == 1);
732 CPPUNIT_ASSERT(pLayout->getListOfLocalRenderInformationObjects()[0]->getListOfColorDefinitions()->size() == 2);
740 CPPUNIT_ASSERT(pGRI != NULL);
741 pGRI->
setName(
"my_global_render_info");
743 CPPUNIT_ASSERT(pCDef != NULL);
744 pCDef->
setId(
"black");
747 CPPUNIT_ASSERT(pCDef != NULL);
749 pCDef->
setRGBA(255, 0, 0, 255);
758 "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n"
759 "<sbml xmlns=\"http://www.sbml.org/sbml/level2\" level=\"2\" version=\"1\">\n"
760 " <model id=\"TestModel\">\n"
762 " <listOfLayouts xmlns=\"http://projects.eml.org/bcb/sbml/level2\" xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\">\n"
763 " <layout id=\"Layout_1\">\n"
765 " <listOfRenderInformation xmlns=\"http://projects.eml.org/bcb/sbml/render/level2\">\n"
766 " <renderInformation id=\"highlightGlucose\" programName=\"Ralph Gauges\" programVersion=\"1.0\">\n"
767 " <listOfColorDefinitions>\n"
768 " <colorDefinition id=\"lightRed\" value=\"#E6ADD8\"/>\n"
769 " <colorDefinition id=\"white\" value=\"#FFFFFF\"/>\n"
770 " </listOfColorDefinitions>\n"
771 " </renderInformation>\n"
772 " </listOfRenderInformation>\n"
774 " <dimensions width=\"400\" height=\"230\"/>\n"
775 " <listOfCompartmentGlyphs>\n"
776 " <compartmentGlyph id=\"CompartmentGlyph_1\" compartment=\"Yeast\">\n"
777 " <boundingBox id=\"bb1\">\n"
778 " <position x=\"5\" y=\"5\"/>\n"
779 " <dimensions width=\"390\" height=\"220\"/>\n"
781 " </compartmentGlyph>\n"
782 " </listOfCompartmentGlyphs>\n"
784 " </listOfLayouts>\n"
786 " <listOfCompartments>\n"
787 " <compartment id=\"Yeast\" size=\"1\" />\n"
788 " </listOfCompartments>\n"
795 "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n"
796 "<sbml xmlns=\"http://www.sbml.org/sbml/level2\" level=\"2\" version=\"1\">\n"
797 " <model id=\"TestModel\">\n"
799 " <listOfLayouts xmlns=\"http://projects.eml.org/bcb/sbml/level2\" xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\">\n"
801 " <listOfGlobalRenderInformation xmlns=\"http://projects.eml.org/bcb/sbml/render/level2\">\n"
802 " <renderInformation id=\"wireFrame\" name=\"wireframe style\" programName=\"Ralph Gauges\" programVersion=\"1.0\">\n"
803 " <listOfColorDefinitions>\n"
804 " <colorDefinition id=\"white\" value=\"#FFFFFF\"/>\n"
805 " <colorDefinition id=\"black\" value=\"#000000\"/>\n"
806 " </listOfColorDefinitions>\n"
807 " </renderInformation>\n"
808 " </listOfGlobalRenderInformation>\n"
810 " <layout id=\"Layout_1\">\n"
811 " <dimensions width=\"400\" height=\"230\"/>\n"
812 " <listOfCompartmentGlyphs>\n"
813 " <compartmentGlyph id=\"CompartmentGlyph_1\" compartment=\"Yeast\">\n"
814 " <boundingBox id=\"bb1\">\n"
815 " <position x=\"5\" y=\"5\"/>\n"
816 " <dimensions width=\"390\" height=\"220\"/>\n"
818 " </compartmentGlyph>\n"
819 " </listOfCompartmentGlyphs>\n"
821 " </listOfLayouts>\n"
823 " <listOfCompartments>\n"
824 " <compartment id=\"Yeast\" size=\"1\" />\n"
825 " </listOfCompartments>\n"
832 "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n"
833 "<!-- generated with COPASI 4.6.34 (Debug) (http://www.copasi.org) at 2011-04-22 10:08:31 UTC -->\n"
834 "<?oxygen RNGSchema=\"http://www.copasi.org/static/schema/CopasiML.rng\" type=\"xml\"?>\n"
835 "<COPASI xmlns=\"http://www.copasi.org/static/schema\" versionMajor=\"1\" versionMinor=\"0\" versionDevel=\"34\">\n"
836 " <Model key=\"Model_1\" name=\"NoName\" simulationType=\"time\" timeUnit=\"s\" volumeUnit=\"l\" areaUnit=\"m²\" lengthUnit=\"m\" quantityUnit=\"mol\" type=\"deterministic\" avogadroConstant=\"6.02214179e+23\">\n"
837 " <ListOfCompartments>\n"
838 " <Compartment key=\"Compartment_0\" name=\"Yeast\" simulationType=\"fixed\" dimensionality=\"3\">\n"
840 " </ListOfCompartments>\n"
842 " <StateTemplateVariable objectReference=\"Model_1\"/>\n"
843 " <StateTemplateVariable objectReference=\"Compartment_0\"/>\n"
844 " </StateTemplate>\n"
845 " <InitialState type=\"initialState\">\n"
849 " <ListOfLayouts xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\">\n"
850 " <Layout key=\"Layout_2\" name=\"Layout_1\">\n"
851 " <Dimensions width=\"400\" height=\"230\"/>\n"
852 " <ListOfCompartmentGlyphs>\n"
853 " <CompartmentGlyph key=\"Layout_3\" name=\"CompartmentGlyph_1\" compartment=\"Compartment_0\">\n"
855 " <Position x=\"5\" y=\"5\"/>\n"
856 " <Dimensions width=\"390\" height=\"220\"/>\n"
858 " </CompartmentGlyph>\n"
859 " </ListOfCompartmentGlyphs>\n"
860 " <ListOfRenderInformation>\n"
861 " <RenderInformation key=\"LocalRenderInformation_0\" backgroundColor=\"#FFFFFFFF\">\n"
862 " <ListOfColorDefinitions>\n"
863 " <ColorDefinition id=\"lightRed\" value=\"#e6add8\"/>\n"
864 " <ColorDefinition id=\"white\" value=\"#ffffff\"/>\n"
865 " </ListOfColorDefinitions>\n"
866 " </RenderInformation>\n"
867 " </ListOfRenderInformation>\n"
869 " </ListOfLayouts>\n"
875 "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n"
876 "<!-- generated with COPASI 4.6.34 (Debug) (http://www.copasi.org) at 2011-04-22 10:09:16 UTC -->\n"
877 "<?oxygen RNGSchema=\"http://www.copasi.org/static/schema/CopasiML.rng\" type=\"xml\"?>\n"
878 "<COPASI xmlns=\"http://www.copasi.org/static/schema\" versionMajor=\"1\" versionMinor=\"0\" versionDevel=\"34\">\n"
879 " <Model key=\"Model_1\" name=\"NoName\" simulationType=\"time\" timeUnit=\"s\" volumeUnit=\"l\" areaUnit=\"m²\" lengthUnit=\"m\" quantityUnit=\"mol\" type=\"deterministic\" avogadroConstant=\"6.02214179e+23\">\n"
880 " <ListOfCompartments>\n"
881 " <Compartment key=\"Compartment_0\" name=\"Yeast\" simulationType=\"fixed\" dimensionality=\"3\">\n"
883 " </ListOfCompartments>\n"
885 " <StateTemplateVariable objectReference=\"Model_1\"/>\n"
886 " <StateTemplateVariable objectReference=\"Compartment_0\"/>\n"
887 " </StateTemplate>\n"
888 " <InitialState type=\"initialState\">\n"
892 " <ListOfLayouts xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\">\n"
893 " <Layout key=\"Layout_2\" name=\"Layout_1\">\n"
894 " <Dimensions width=\"400\" height=\"230\"/>\n"
895 " <ListOfCompartmentGlyphs>\n"
896 " <CompartmentGlyph key=\"Layout_3\" name=\"CompartmentGlyph_1\" compartment=\"Compartment_0\">\n"
898 " <Position x=\"5\" y=\"5\"/>\n"
899 " <Dimensions width=\"390\" height=\"220\"/>\n"
901 " </CompartmentGlyph>\n"
902 " </ListOfCompartmentGlyphs>\n"
904 " <ListOfGlobalRenderInformation>\n"
905 " <RenderInformation key=\"GlobalRenderInformation_0\" name=\"wireframe style\" backgroundColor=\"#FFFFFFFF\">\n"
906 " <ListOfColorDefinitions>\n"
907 " <ColorDefinition id=\"white\" value=\"#ffffff\"/>\n"
908 " <ColorDefinition id=\"black\" value=\"#000000\"/>\n"
909 " </ListOfColorDefinitions>\n"
910 " </RenderInformation>\n"
911 " </ListOfGlobalRenderInformation>\n"
912 " </ListOfLayouts>\n"
937 CPPUNIT_ASSERT(
false);
940 CPPUNIT_ASSERT(!s.empty());
941 XMLInputStream inputstream(s.c_str(),
false);
942 XMLNode node(inputstream);
943 CPPUNIT_ASSERT(node.getName() ==
"sbml");
944 unsigned int i, iMax = node.getNumChildren();
945 CPPUNIT_ASSERT(iMax > 0);
946 const XMLNode* pModelNode = NULL;
947 const XMLNode* pListOfLayoutsNode = NULL;
948 const XMLNode* pLayoutNode = NULL;
949 const XMLNode* pLoLRINode = NULL;
950 const XMLNode* pLRINode = NULL;
951 const XMLNode* pAnnotationNode = NULL;
953 for (i = 0; i < iMax; ++i)
955 if (node.getChild(i).getName() ==
"model")
957 pModelNode = &node.getChild(i);
962 CPPUNIT_ASSERT(pModelNode != NULL);
963 iMax = pModelNode->getNumChildren();
964 CPPUNIT_ASSERT(iMax > 0);
966 for (i = 0; i < iMax; ++i)
968 if (pModelNode->getChild(i).getName() ==
"annotation")
970 pAnnotationNode = &pModelNode->getChild(i);
975 CPPUNIT_ASSERT(pAnnotationNode != NULL);
976 iMax = pAnnotationNode->getNumChildren();
977 CPPUNIT_ASSERT(iMax > 0);
979 for (i = 0; i < iMax; ++i)
981 if (pAnnotationNode->getChild(i).getName() ==
"listOfLayouts")
983 pListOfLayoutsNode = &pAnnotationNode->getChild(i);
988 CPPUNIT_ASSERT(pListOfLayoutsNode != NULL);
989 iMax = pListOfLayoutsNode->getNumChildren();
990 CPPUNIT_ASSERT(iMax > 0);
992 for (i = 0; i < iMax; ++i)
994 if (pListOfLayoutsNode->getChild(i).getName() ==
"layout")
996 pLayoutNode = &pListOfLayoutsNode->getChild(i);
1000 CPPUNIT_ASSERT(pLayoutNode != NULL);
1001 iMax = pLayoutNode->getNumChildren();
1002 CPPUNIT_ASSERT(iMax > 0);
1004 pAnnotationNode = NULL;
1006 for (i = 0; i < iMax; ++i)
1008 if (pLayoutNode->getChild(i).getName() ==
"annotation")
1010 pAnnotationNode = &pLayoutNode->getChild(i);
1015 CPPUNIT_ASSERT(pAnnotationNode != NULL);
1016 iMax = pAnnotationNode->getNumChildren();
1017 CPPUNIT_ASSERT(iMax > 0);
1020 for (i = 0; i < iMax; ++i)
1022 if (pAnnotationNode->getChild(i).getName() ==
"listOfRenderInformation")
1024 pLoLRINode = &pAnnotationNode->getChild(i);
1028 CPPUNIT_ASSERT(pLoLRINode != NULL);
1029 iMax = pLoLRINode->getNumChildren();
1030 CPPUNIT_ASSERT(iMax > 0);
1032 for (i = 0; i < iMax; ++i)
1034 if (pLoLRINode->getChild(i).getName() ==
"renderInformation")
1036 pLRINode = &pLoLRINode->getChild(i);
1041 CPPUNIT_ASSERT(pLRINode != NULL);
1042 iMax = pLRINode->getNumChildren();
1043 CPPUNIT_ASSERT(iMax > 0);
1044 const XMLNode* pLoCDNode = NULL;
1045 const XMLNode* pCDNode1 = NULL;
1046 const XMLNode* pCDNode2 = NULL;
1048 for (i = 0; i < iMax; ++i)
1050 if (pLRINode->getChild(i).getName() ==
"listOfColorDefinitions")
1052 pLoCDNode = &pLRINode->getChild(i);
1057 CPPUNIT_ASSERT(pLoCDNode != NULL);
1058 iMax = pLoCDNode->getNumChildren();
1059 CPPUNIT_ASSERT(iMax > 0);
1061 for (i = 0; i < iMax; ++i)
1063 if (pLoCDNode->getChild(i).getName() ==
"colorDefinition")
1065 if (pCDNode1 == NULL)
1067 pCDNode1 = &pLoCDNode->getChild(i);
1071 pCDNode2 = &pLoCDNode->getChild(i);
1076 CPPUNIT_ASSERT(pCDNode1 != NULL);
1077 CPPUNIT_ASSERT(pCDNode2 != NULL);
1102 CPPUNIT_ASSERT(
false);
1105 CPPUNIT_ASSERT(!s.empty());
1106 XMLInputStream inputstream(s.c_str(),
false);
1107 XMLNode node(inputstream);
1108 CPPUNIT_ASSERT(node.getName() ==
"sbml");
1109 unsigned int i, iMax = node.getNumChildren();
1110 CPPUNIT_ASSERT(iMax > 0);
1111 const XMLNode* pModelNode = NULL;
1112 const XMLNode* pListOfLayoutsNode = NULL;
1113 const XMLNode* pLayoutNode = NULL;
1114 const XMLNode* pLoGRINode = NULL;
1115 const XMLNode* pGRINode = NULL;
1116 const XMLNode* pAnnotationNode = NULL;
1118 for (i = 0; i < iMax; ++i)
1120 if (node.getChild(i).getName() ==
"model")
1122 pModelNode = &node.getChild(i);
1127 CPPUNIT_ASSERT(pModelNode != NULL);
1128 iMax = pModelNode->getNumChildren();
1129 CPPUNIT_ASSERT(iMax > 0);
1131 for (i = 0; i < iMax; ++i)
1133 if (pModelNode->getChild(i).getName() ==
"annotation")
1135 pAnnotationNode = &pModelNode->getChild(i);
1140 CPPUNIT_ASSERT(pAnnotationNode != NULL);
1141 iMax = pAnnotationNode->getNumChildren();
1142 CPPUNIT_ASSERT(iMax > 0);
1144 for (i = 0; i < iMax; ++i)
1146 if (pAnnotationNode->getChild(i).getName() ==
"listOfLayouts")
1148 pListOfLayoutsNode = &pAnnotationNode->getChild(i);
1151 else if (pAnnotationNode->getChild(i).getName() ==
"listOfGlobalRenderInformation")
1153 pLoGRINode = &pAnnotationNode->getChild(i);
1158 CPPUNIT_ASSERT(pListOfLayoutsNode != NULL);
1159 iMax = pListOfLayoutsNode->getNumChildren();
1160 CPPUNIT_ASSERT(iMax > 0);
1161 pAnnotationNode = NULL;
1163 for (i = 0; i < iMax; ++i)
1165 if (pListOfLayoutsNode->getChild(i).getName() ==
"layout")
1167 pLayoutNode = &pListOfLayoutsNode->getChild(i);
1169 else if (pListOfLayoutsNode->getChild(i).getName() ==
"annotation")
1171 pAnnotationNode = &pListOfLayoutsNode->getChild(i);
1175 CPPUNIT_ASSERT(pLayoutNode != NULL);
1176 iMax = pLayoutNode->getNumChildren();
1177 CPPUNIT_ASSERT(iMax > 0);
1179 CPPUNIT_ASSERT(pAnnotationNode != NULL);
1180 iMax = pAnnotationNode->getNumChildren();
1181 CPPUNIT_ASSERT(iMax > 0);
1183 for (i = 0; i < iMax; ++i)
1185 if (pAnnotationNode->getChild(i).getName() ==
"listOfGlobalRenderInformation")
1187 pLoGRINode = &pAnnotationNode->getChild(i);
1193 CPPUNIT_ASSERT(pLoGRINode != NULL);
1194 iMax = pLoGRINode->getNumChildren();
1195 CPPUNIT_ASSERT(iMax > 0);
1197 for (i = 0; i < iMax; ++i)
1199 if (pLoGRINode->getChild(i).getName() ==
"renderInformation")
1201 pGRINode = &pLoGRINode->getChild(i);
1206 CPPUNIT_ASSERT(pGRINode != NULL);
1207 iMax = pGRINode->getNumChildren();
1208 CPPUNIT_ASSERT(iMax > 0);
1209 const XMLNode* pLoCDNode = NULL;
1210 const XMLNode* pCDNode1 = NULL;
1211 const XMLNode* pCDNode2 = NULL;
1213 for (i = 0; i < iMax; ++i)
1215 if (pGRINode->getChild(i).getName() ==
"listOfColorDefinitions")
1217 pLoCDNode = &pGRINode->getChild(i);
1222 CPPUNIT_ASSERT(pLoCDNode != NULL);
1223 iMax = pLoCDNode->getNumChildren();
1224 CPPUNIT_ASSERT(iMax > 0);
1226 for (i = 0; i < iMax; ++i)
1228 if (pLoCDNode->getChild(i).getName() ==
"colorDefinition")
1230 if (pCDNode1 == NULL)
1232 pCDNode1 = &pLoCDNode->getChild(i);
1236 pCDNode2 = &pLoCDNode->getChild(i);
1241 CPPUNIT_ASSERT(pCDNode1 != NULL);
1242 CPPUNIT_ASSERT(pCDNode2 != NULL);
1265 CPPUNIT_ASSERT(
false);
1268 CPPUNIT_ASSERT(!s.empty());
1269 XMLInputStream inputstream(s.c_str(),
false);
1270 XMLNode node(inputstream);
1271 CPPUNIT_ASSERT(node.getName() ==
"sbml");
1272 unsigned int i, iMax = node.getNumChildren();
1273 CPPUNIT_ASSERT(iMax > 0);
1274 const XMLNode* pModelNode = NULL;
1275 const XMLNode* pListOfLayoutsNode = NULL;
1276 const XMLNode* pLayoutNode = NULL;
1277 const XMLNode* pLoLRINode = NULL;
1278 const XMLNode* pLRINode = NULL;
1279 const XMLNode* pAnnotationNode = NULL;
1281 for (i = 0; i < iMax; ++i)
1283 if (node.getChild(i).getName() ==
"model")
1285 pModelNode = &node.getChild(i);
1290 CPPUNIT_ASSERT(pModelNode != NULL);
1291 iMax = pModelNode->getNumChildren();
1292 CPPUNIT_ASSERT(iMax > 0);
1294 for (i = 0; i < iMax; ++i)
1296 if (pModelNode->getChild(i).getName() ==
"annotation")
1298 pAnnotationNode = &pModelNode->getChild(i);
1303 CPPUNIT_ASSERT(pAnnotationNode != NULL);
1304 iMax = pAnnotationNode->getNumChildren();
1305 CPPUNIT_ASSERT(iMax > 0);
1307 for (i = 0; i < iMax; ++i)
1309 if (pAnnotationNode->getChild(i).getName() ==
"listOfLayouts")
1311 pListOfLayoutsNode = &pAnnotationNode->getChild(i);
1316 CPPUNIT_ASSERT(pListOfLayoutsNode != NULL);
1317 iMax = pListOfLayoutsNode->getNumChildren();
1318 CPPUNIT_ASSERT(iMax > 0);
1320 for (i = 0; i < iMax; ++i)
1322 if (pListOfLayoutsNode->getChild(i).getName() ==
"layout")
1324 pLayoutNode = &pListOfLayoutsNode->getChild(i);
1328 CPPUNIT_ASSERT(pLayoutNode != NULL);
1329 iMax = pLayoutNode->getNumChildren();
1330 CPPUNIT_ASSERT(iMax > 0);
1332 pAnnotationNode = NULL;
1334 for (i = 0; i < iMax; ++i)
1336 if (pLayoutNode->getChild(i).getName() ==
"annotation")
1338 pAnnotationNode = &pLayoutNode->getChild(i);
1343 CPPUNIT_ASSERT(pAnnotationNode != NULL);
1344 iMax = pAnnotationNode->getNumChildren();
1345 CPPUNIT_ASSERT(iMax > 0);
1348 for (i = 0; i < iMax; ++i)
1350 if (pAnnotationNode->getChild(i).getName() ==
"listOfRenderInformation")
1352 pLoLRINode = &pAnnotationNode->getChild(i);
1356 CPPUNIT_ASSERT(pLoLRINode != NULL);
1357 iMax = pLoLRINode->getNumChildren();
1358 CPPUNIT_ASSERT(iMax > 0);
1360 for (i = 0; i < iMax; ++i)
1362 if (pLoLRINode->getChild(i).getName() ==
"renderInformation")
1364 pLRINode = &pLoLRINode->getChild(i);
1369 CPPUNIT_ASSERT(pLRINode != NULL);
1370 iMax = pLRINode->getNumChildren();
1371 CPPUNIT_ASSERT(iMax > 0);
1372 const XMLNode* pLoCDNode = NULL;
1373 const XMLNode* pCDNode1 = NULL;
1374 const XMLNode* pCDNode2 = NULL;
1376 for (i = 0; i < iMax; ++i)
1378 if (pLRINode->getChild(i).getName() ==
"listOfColorDefinitions")
1380 pLoCDNode = &pLRINode->getChild(i);
1385 CPPUNIT_ASSERT(pLoCDNode != NULL);
1386 iMax = pLoCDNode->getNumChildren();
1387 CPPUNIT_ASSERT(iMax > 0);
1389 for (i = 0; i < iMax; ++i)
1391 if (pLoCDNode->getChild(i).getName() ==
"colorDefinition")
1393 if (pCDNode1 == NULL)
1395 pCDNode1 = &pLoCDNode->getChild(i);
1399 pCDNode2 = &pLoCDNode->getChild(i);
1404 CPPUNIT_ASSERT(pCDNode1 != NULL);
1405 CPPUNIT_ASSERT(pCDNode2 != NULL);
1429 CPPUNIT_ASSERT(
false);
1432 CPPUNIT_ASSERT(!s.empty());
1433 XMLInputStream inputstream(s.c_str(),
false);
1434 XMLNode node(inputstream);
1435 CPPUNIT_ASSERT(node.getName() ==
"sbml");
1436 unsigned int i, iMax = node.getNumChildren();
1437 CPPUNIT_ASSERT(iMax > 0);
1438 const XMLNode* pModelNode = NULL;
1439 const XMLNode* pListOfLayoutsNode = NULL;
1440 const XMLNode* pLayoutNode = NULL;
1441 const XMLNode* pLoGRINode = NULL;
1442 const XMLNode* pGRINode = NULL;
1443 const XMLNode* pAnnotationNode = NULL;
1445 for (i = 0; i < iMax; ++i)
1447 if (node.getChild(i).getName() ==
"model")
1449 pModelNode = &node.getChild(i);
1454 CPPUNIT_ASSERT(pModelNode != NULL);
1455 iMax = pModelNode->getNumChildren();
1456 CPPUNIT_ASSERT(iMax > 0);
1458 for (i = 0; i < iMax; ++i)
1460 if (pModelNode->getChild(i).getName() ==
"annotation")
1462 pAnnotationNode = &pModelNode->getChild(i);
1467 CPPUNIT_ASSERT(pAnnotationNode != NULL);
1468 iMax = pAnnotationNode->getNumChildren();
1469 CPPUNIT_ASSERT(iMax > 0);
1471 for (i = 0; i < iMax; ++i)
1473 if (pAnnotationNode->getChild(i).getName() ==
"listOfLayouts")
1475 pListOfLayoutsNode = &pAnnotationNode->getChild(i);
1478 else if (pAnnotationNode->getChild(i).getName() ==
"listOfGlobalRenderInformation")
1480 pLoGRINode = &pAnnotationNode->getChild(i);
1485 CPPUNIT_ASSERT(pListOfLayoutsNode != NULL);
1486 iMax = pListOfLayoutsNode->getNumChildren();
1487 CPPUNIT_ASSERT(iMax > 0);
1488 pAnnotationNode = NULL;
1490 for (i = 0; i < iMax; ++i)
1492 if (pListOfLayoutsNode->getChild(i).getName() ==
"layout")
1494 pLayoutNode = &pListOfLayoutsNode->getChild(i);
1496 else if (pListOfLayoutsNode->getChild(i).getName() ==
"annotation")
1498 pAnnotationNode = &pListOfLayoutsNode->getChild(i);
1502 CPPUNIT_ASSERT(pLayoutNode != NULL);
1503 iMax = pLayoutNode->getNumChildren();
1504 CPPUNIT_ASSERT(iMax > 0);
1506 CPPUNIT_ASSERT(pAnnotationNode != NULL);
1507 iMax = pAnnotationNode->getNumChildren();
1508 CPPUNIT_ASSERT(iMax > 0);
1510 for (i = 0; i < iMax; ++i)
1512 if (pAnnotationNode->getChild(i).getName() ==
"listOfGlobalRenderInformation")
1514 pLoGRINode = &pAnnotationNode->getChild(i);
1520 CPPUNIT_ASSERT(pLoGRINode != NULL);
1521 iMax = pLoGRINode->getNumChildren();
1522 CPPUNIT_ASSERT(iMax > 0);
1524 for (i = 0; i < iMax; ++i)
1526 if (pLoGRINode->getChild(i).getName() ==
"renderInformation")
1528 pGRINode = &pLoGRINode->getChild(i);
1533 CPPUNIT_ASSERT(pGRINode != NULL);
1534 iMax = pGRINode->getNumChildren();
1535 CPPUNIT_ASSERT(iMax > 0);
1536 const XMLNode* pLoCDNode = NULL;
1537 const XMLNode* pCDNode1 = NULL;
1538 const XMLNode* pCDNode2 = NULL;
1540 for (i = 0; i < iMax; ++i)
1542 if (pGRINode->getChild(i).getName() ==
"listOfColorDefinitions")
1544 pLoCDNode = &pGRINode->getChild(i);
1549 CPPUNIT_ASSERT(pLoCDNode != NULL);
1550 iMax = pLoCDNode->getNumChildren();
1551 CPPUNIT_ASSERT(iMax > 0);
1553 for (i = 0; i < iMax; ++i)
1555 if (pLoCDNode->getChild(i).getName() ==
"colorDefinition")
1557 if (pCDNode1 == NULL)
1559 pCDNode1 = &pLoCDNode->getChild(i);
1563 pCDNode2 = &pLoCDNode->getChild(i);
1568 CPPUNIT_ASSERT(pCDNode1 != NULL);
1569 CPPUNIT_ASSERT(pCDNode2 != NULL);
1586 std::ostringstream os;
1588 CPPUNIT_ASSERT(!os.str().empty());
1589 XMLInputStream inputstream(os.str().c_str(),
false);
1590 XMLNode node(inputstream);
1591 CPPUNIT_ASSERT(node.getName() ==
"COPASI");
1592 unsigned int i, iMax = node.getNumChildren();
1593 CPPUNIT_ASSERT(iMax > 0);
1594 const XMLNode* pListOfLayoutsNode = NULL;
1595 const XMLNode* pLayoutNode = NULL;
1596 const XMLNode* pLoLRINode = NULL;
1597 const XMLNode* pLRINode = NULL;
1599 for (i = 0; i < iMax; ++i)
1601 if (node.getChild(i).getName() ==
"ListOfLayouts")
1603 pListOfLayoutsNode = &node.getChild(i);
1608 CPPUNIT_ASSERT(pListOfLayoutsNode != NULL);
1609 iMax = pListOfLayoutsNode->getNumChildren();
1610 CPPUNIT_ASSERT(iMax > 0);
1612 for (i = 0; i < iMax; ++i)
1614 if (pListOfLayoutsNode->getChild(i).getName() ==
"Layout")
1616 pLayoutNode = &pListOfLayoutsNode->getChild(i);
1621 CPPUNIT_ASSERT(pLayoutNode != NULL);
1622 iMax = pLayoutNode->getNumChildren();
1623 CPPUNIT_ASSERT(iMax > 0);
1625 for (i = 0; i < iMax; ++i)
1627 if (pLayoutNode->getChild(i).getName() ==
"ListOfRenderInformation")
1629 pLoLRINode = &pLayoutNode->getChild(i);
1634 CPPUNIT_ASSERT(pLoLRINode != NULL);
1635 iMax = pLoLRINode->getNumChildren();
1636 CPPUNIT_ASSERT(iMax > 0);
1638 for (i = 0; i < iMax; ++i)
1640 if (pLoLRINode->getChild(i).getName() ==
"RenderInformation")
1642 pLRINode = &pLoLRINode->getChild(i);
1647 CPPUNIT_ASSERT(pLRINode != NULL);
1648 iMax = pLRINode->getNumChildren();
1649 CPPUNIT_ASSERT(iMax > 0);
1650 const XMLNode* pLoCDNode = NULL;
1651 const XMLNode* pCDNode1 = NULL;
1652 const XMLNode* pCDNode2 = NULL;
1654 for (i = 0; i < iMax; ++i)
1656 if (pLRINode->getChild(i).getName() ==
"ListOfColorDefinitions")
1658 pLoCDNode = &pLRINode->getChild(i);
1663 CPPUNIT_ASSERT(pLoCDNode != NULL);
1664 iMax = pLoCDNode->getNumChildren();
1665 CPPUNIT_ASSERT(iMax > 0);
1667 for (i = 0; i < iMax; ++i)
1669 if (pLoCDNode->getChild(i).getName() ==
"ColorDefinition")
1671 if (pCDNode1 == NULL)
1673 pCDNode1 = &pLoCDNode->getChild(i);
1677 pCDNode2 = &pLoCDNode->getChild(i);
1682 CPPUNIT_ASSERT(pCDNode1 != NULL);
1683 CPPUNIT_ASSERT(pCDNode2 != NULL);
1699 std::ostringstream os;
1701 CPPUNIT_ASSERT(!os.str().empty());
1702 XMLInputStream inputstream(os.str().c_str(),
false);
1703 XMLNode node(inputstream);
1704 CPPUNIT_ASSERT(node.getName() ==
"COPASI");
1705 unsigned int i, iMax = node.getNumChildren();
1706 CPPUNIT_ASSERT(iMax > 0);
1707 const XMLNode* pListOfLayoutsNode = NULL;
1708 const XMLNode* pLayoutNode = NULL;
1709 const XMLNode* pLoGRINode = NULL;
1710 const XMLNode* pGRINode = NULL;
1712 for (i = 0; i < iMax; ++i)
1714 if (node.getChild(i).getName() ==
"ListOfLayouts")
1716 pListOfLayoutsNode = &node.getChild(i);
1721 CPPUNIT_ASSERT(pListOfLayoutsNode != NULL);
1722 iMax = pListOfLayoutsNode->getNumChildren();
1723 CPPUNIT_ASSERT(iMax > 0);
1725 for (i = 0; i < iMax; ++i)
1727 if (pListOfLayoutsNode->getChild(i).getName() ==
"Layout")
1729 pLayoutNode = &pListOfLayoutsNode->getChild(i);
1731 else if (pListOfLayoutsNode->getChild(i).getName() ==
"ListOfGlobalRenderInformation")
1733 pLoGRINode = &pListOfLayoutsNode->getChild(i);
1737 CPPUNIT_ASSERT(pLayoutNode != NULL);
1738 iMax = pLayoutNode->getNumChildren();
1739 CPPUNIT_ASSERT(iMax > 0);
1740 CPPUNIT_ASSERT(pLoGRINode != NULL);
1741 iMax = pLoGRINode->getNumChildren();
1742 CPPUNIT_ASSERT(iMax > 0);
1744 for (i = 0; i < iMax; ++i)
1746 if (pLoGRINode->getChild(i).getName() ==
"RenderInformation")
1748 pGRINode = &pLoGRINode->getChild(i);
1753 CPPUNIT_ASSERT(pGRINode != NULL);
1754 iMax = pGRINode->getNumChildren();
1755 CPPUNIT_ASSERT(iMax > 0);
1756 const XMLNode* pLoCDNode = NULL;
1757 const XMLNode* pCDNode1 = NULL;
1758 const XMLNode* pCDNode2 = NULL;
1760 for (i = 0; i < iMax; ++i)
1762 if (pGRINode->getChild(i).getName() ==
"ListOfColorDefinitions")
1764 pLoCDNode = &pGRINode->getChild(i);
1769 CPPUNIT_ASSERT(pLoCDNode != NULL);
1770 iMax = pLoCDNode->getNumChildren();
1771 CPPUNIT_ASSERT(iMax > 0);
1773 for (i = 0; i < iMax; ++i)
1775 if (pLoCDNode->getChild(i).getName() ==
"ColorDefinition")
1777 if (pCDNode1 == NULL)
1779 pCDNode1 = &pLoCDNode->getChild(i);
1783 pCDNode2 = &pLoCDNode->getChild(i);
1788 CPPUNIT_ASSERT(pCDNode1 != NULL);
1789 CPPUNIT_ASSERT(pCDNode2 != NULL);
1804 std::ostringstream os;
1806 CPPUNIT_ASSERT(!os.str().empty());
1807 XMLInputStream inputstream(os.str().c_str(),
false);
1808 XMLNode node(inputstream);
1809 CPPUNIT_ASSERT(node.getName() ==
"COPASI");
1810 unsigned int i, iMax = node.getNumChildren();
1811 CPPUNIT_ASSERT(iMax > 0);
1812 const XMLNode* pListOfLayoutsNode = NULL;
1813 const XMLNode* pLayoutNode = NULL;
1814 const XMLNode* pLoLRINode = NULL;
1815 const XMLNode* pLRINode = NULL;
1817 for (i = 0; i < iMax; ++i)
1819 if (node.getChild(i).getName() ==
"ListOfLayouts")
1821 pListOfLayoutsNode = &node.getChild(i);
1826 CPPUNIT_ASSERT(pListOfLayoutsNode != NULL);
1827 iMax = pListOfLayoutsNode->getNumChildren();
1828 CPPUNIT_ASSERT(iMax > 0);
1830 for (i = 0; i < iMax; ++i)
1832 if (pListOfLayoutsNode->getChild(i).getName() ==
"Layout")
1834 pLayoutNode = &pListOfLayoutsNode->getChild(i);
1839 CPPUNIT_ASSERT(pLayoutNode != NULL);
1840 iMax = pLayoutNode->getNumChildren();
1841 CPPUNIT_ASSERT(iMax > 0);
1843 for (i = 0; i < iMax; ++i)
1845 if (pLayoutNode->getChild(i).getName() ==
"ListOfRenderInformation")
1847 pLoLRINode = &pLayoutNode->getChild(i);
1852 CPPUNIT_ASSERT(pLoLRINode != NULL);
1853 iMax = pLoLRINode->getNumChildren();
1854 CPPUNIT_ASSERT(iMax > 0);
1856 for (i = 0; i < iMax; ++i)
1858 if (pLoLRINode->getChild(i).getName() ==
"RenderInformation")
1860 pLRINode = &pLoLRINode->getChild(i);
1865 CPPUNIT_ASSERT(pLRINode != NULL);
1866 iMax = pLRINode->getNumChildren();
1867 CPPUNIT_ASSERT(iMax > 0);
1868 const XMLNode* pLoCDNode = NULL;
1869 const XMLNode* pCDNode1 = NULL;
1870 const XMLNode* pCDNode2 = NULL;
1872 for (i = 0; i < iMax; ++i)
1874 if (pLRINode->getChild(i).getName() ==
"ListOfColorDefinitions")
1876 pLoCDNode = &pLRINode->getChild(i);
1881 CPPUNIT_ASSERT(pLoCDNode != NULL);
1882 iMax = pLoCDNode->getNumChildren();
1883 CPPUNIT_ASSERT(iMax > 0);
1885 for (i = 0; i < iMax; ++i)
1887 if (pLoCDNode->getChild(i).getName() ==
"ColorDefinition")
1889 if (pCDNode1 == NULL)
1891 pCDNode1 = &pLoCDNode->getChild(i);
1895 pCDNode2 = &pLoCDNode->getChild(i);
1900 CPPUNIT_ASSERT(pCDNode1 != NULL);
1901 CPPUNIT_ASSERT(pCDNode2 != NULL);
1916 std::ostringstream os;
1918 CPPUNIT_ASSERT(!os.str().empty());
1919 XMLInputStream inputstream(os.str().c_str(),
false);
1920 XMLNode node(inputstream);
1921 CPPUNIT_ASSERT(node.getName() ==
"COPASI");
1922 unsigned int i, iMax = node.getNumChildren();
1923 CPPUNIT_ASSERT(iMax > 0);
1924 const XMLNode* pListOfLayoutsNode = NULL;
1925 const XMLNode* pLayoutNode = NULL;
1926 const XMLNode* pLoGRINode = NULL;
1927 const XMLNode* pGRINode = NULL;
1929 for (i = 0; i < iMax; ++i)
1931 if (node.getChild(i).getName() ==
"ListOfLayouts")
1933 pListOfLayoutsNode = &node.getChild(i);
1938 CPPUNIT_ASSERT(pListOfLayoutsNode != NULL);
1939 iMax = pListOfLayoutsNode->getNumChildren();
1940 CPPUNIT_ASSERT(iMax > 0);
1942 for (i = 0; i < iMax; ++i)
1944 if (pListOfLayoutsNode->getChild(i).getName() ==
"Layout")
1946 pLayoutNode = &pListOfLayoutsNode->getChild(i);
1948 else if (pListOfLayoutsNode->getChild(i).getName() ==
"ListOfGlobalRenderInformation")
1950 pLoGRINode = &pListOfLayoutsNode->getChild(i);
1954 CPPUNIT_ASSERT(pLayoutNode != NULL);
1955 iMax = pLayoutNode->getNumChildren();
1956 CPPUNIT_ASSERT(iMax > 0);
1957 CPPUNIT_ASSERT(pLoGRINode != NULL);
1958 iMax = pLoGRINode->getNumChildren();
1959 CPPUNIT_ASSERT(iMax > 0);
1961 for (i = 0; i < iMax; ++i)
1963 if (pLoGRINode->getChild(i).getName() ==
"RenderInformation")
1965 pGRINode = &pLoGRINode->getChild(i);
1970 CPPUNIT_ASSERT(pGRINode != NULL);
1971 iMax = pGRINode->getNumChildren();
1972 CPPUNIT_ASSERT(iMax > 0);
1973 const XMLNode* pLoCDNode = NULL;
1974 const XMLNode* pCDNode1 = NULL;
1975 const XMLNode* pCDNode2 = NULL;
1977 for (i = 0; i < iMax; ++i)
1979 if (pGRINode->getChild(i).getName() ==
"ListOfColorDefinitions")
1981 pLoCDNode = &pGRINode->getChild(i);
1986 CPPUNIT_ASSERT(pLoCDNode != NULL);
1987 iMax = pLoCDNode->getNumChildren();
1988 CPPUNIT_ASSERT(iMax > 0);
1990 for (i = 0; i < iMax; ++i)
1992 if (pLoCDNode->getChild(i).getName() ==
"ColorDefinition")
1994 if (pCDNode1 == NULL)
1996 pCDNode1 = &pLoCDNode->getChild(i);
2000 pCDNode2 = &pLoCDNode->getChild(i);
2005 CPPUNIT_ASSERT(pCDNode1 != NULL);
2006 CPPUNIT_ASSERT(pCDNode2 != NULL);
void addLocalRenderInformation()
bool setVolumeUnit(const std::string &name)
std::string exportSBMLToString(CProcessReport *pExportHandler, int sbmlLevel, int sbmlVersion)
virtual size_t size() const
void test_import_local_render_information()
CCopasiObject * getInitialValueReference() const
void addGlobalRenderInformation()
bool save_cps_model_to_stream(std::ostream &os, CCopasiDataModel *pDataModel)
bool setTimeUnit(const std::string &name)
void test_read_local_render_information()
void setDimensions(const CLDimensions &d)
void test_import_global_render_information()
void test_save_global_render_information()
void test_readexport_global_render_information()
void test_importexport_global_render_information()
static const char * SBML_MODEL_1
void addGlobalRenderInformation(CLGlobalRenderInformation *pRenderInfo)
void test_readwrite_global_render_information()
static const char * CPS_MODEL_2
bool load_cps_model_from_stream(std::istream &is, CCopasiDataModel &dataModel)
void test_importexport_local_render_information()
void test_importwrite_global_render_information()
void setModelObjectKey(const std::string &k)
static const char * CPS_MODEL_1
void test_readwrite_local_render_information()
void test_importwrite_local_render_information()
virtual const std::string & getKey() const
void setRGBA(unsigned char r, unsigned char g, unsigned char b, unsigned char a=255)
void test_save_local_render_information()
CListOfLayouts * getListOfLayouts()
void test_export_global_render_information()
CCopasiDataModel * pDataModel
void setId(const std::string &id)
void addLayout(CLayout *layout, const std::map< std::string, std::string > &m)
void addCompartmentGlyph(CLCompartmentGlyph *glyph)
static CCopasiDataModel * addDatamodel()
void setBoundingBox(const CLBoundingBox &bb)
void test_export_local_render_information()
bool compileIfNecessary(CProcessReport *pProcessReport)
static const char * SBML_MODEL_2
bool importSBMLFromString(const std::string &sbmlDocumentText, CProcessReport *pImportHandler=NULL, const bool &deleteOldData=true)
bool setQuantityUnit(const std::string &name)
static void init(int argc, char *argv[], const bool &withGui=false)
std::vector< Refresh * > buildInitialRefreshSequence(std::set< const CCopasiObject * > &changedObjects)
void test_read_global_render_information()
CCompartment * createCompartment(const std::string &name, const C_FLOAT64 &volume=1.0)
void test_readexport_local_render_information()
const CCopasiVector< CLGlobalRenderInformation > & getListOfGlobalRenderInformationObjects() const