62 CPPUNIT_ASSERT(
false);
66 CPPUNIT_ASSERT(pModel != NULL);
73 CPPUNIT_ASSERT(pFun != NULL);
75 CPPUNIT_ASSERT(pKinFun != NULL);
79 CPPUNIT_ASSERT(pFunParams != NULL);
80 CPPUNIT_ASSERT(pFunParams->
size() == 1);
82 CPPUNIT_ASSERT(pFunParam != NULL);
83 CPPUNIT_ASSERT(pFunParam->getObjectName() == std::string(
"k"));
85 CPPUNIT_ASSERT(pRoot != NULL);
89 CPPUNIT_ASSERT(pChild != NULL);
93 CPPUNIT_ASSERT(pNumberNode != NULL);
94 CPPUNIT_ASSERT(fabs((pNumberNode->
getValue() - 3.0) / 3.0) < 1e-6);
96 CPPUNIT_ASSERT(pChild != NULL);
100 CPPUNIT_ASSERT(pVarNode != NULL);
101 CPPUNIT_ASSERT(pVarNode->
getData() == std::string(
"k"));
103 CPPUNIT_ASSERT(pChild == NULL);
105 pFun = pFunDB->findFunction(
"function_2");
106 CPPUNIT_ASSERT(pFun != NULL);
108 CPPUNIT_ASSERT(pKinFun != NULL);
112 CPPUNIT_ASSERT(pFunParams != NULL);
113 CPPUNIT_ASSERT(pFunParams->
size() == 2);
114 pFunParam = (*pFunParams)[0];
115 CPPUNIT_ASSERT(pFunParam != NULL);
116 CPPUNIT_ASSERT(pFunParam->getObjectName() == std::string(
"A"));
117 pFunParam = (*pFunParams)[1];
118 CPPUNIT_ASSERT(pFunParam != NULL);
119 CPPUNIT_ASSERT(pFunParam->getObjectName() == std::string(
"B"));
121 CPPUNIT_ASSERT(pRoot != NULL);
125 CPPUNIT_ASSERT(pChild != NULL);
129 CPPUNIT_ASSERT(pVarNode != NULL);
130 CPPUNIT_ASSERT(pVarNode->
getData() == std::string(
"B"));
132 CPPUNIT_ASSERT(pChild != NULL);
136 CPPUNIT_ASSERT(pVarNode != NULL);
137 CPPUNIT_ASSERT(pVarNode->
getData() == std::string(
"A"));
139 CPPUNIT_ASSERT(pChild == NULL);
141 pFun = pFunDB->findFunction(
"function_3");
142 CPPUNIT_ASSERT(pFun != NULL);
144 CPPUNIT_ASSERT(pKinFun != NULL);
148 CPPUNIT_ASSERT(pFunParams != NULL);
149 CPPUNIT_ASSERT(pFunParams->
size() == 2);
150 pFunParam = (*pFunParams)[0];
151 CPPUNIT_ASSERT(pFunParam != NULL);
152 CPPUNIT_ASSERT(pFunParam->getObjectName() == std::string(
"k"));
153 pFunParam = (*pFunParams)[1];
154 CPPUNIT_ASSERT(pFunParam != NULL);
155 CPPUNIT_ASSERT(pFunParam->getObjectName() == std::string(
"C"));
157 CPPUNIT_ASSERT(pRoot != NULL);
161 CPPUNIT_ASSERT(pChild != NULL);
165 CPPUNIT_ASSERT(pVarNode != NULL);
166 CPPUNIT_ASSERT(pVarNode->
getData() == std::string(
"C"));
168 CPPUNIT_ASSERT(pChild != NULL);
171 CPPUNIT_ASSERT(pChild->getSibling() == NULL);
176 CPPUNIT_ASSERT(pVarNode != NULL);
177 CPPUNIT_ASSERT(pVarNode->
getData() == std::string(
"k"));
179 CPPUNIT_ASSERT(pChild != NULL);
183 CPPUNIT_ASSERT(pNumberNode != NULL);
184 CPPUNIT_ASSERT(fabs((pNumberNode->
getValue() - 1.3) / 1.3) < 1e-6);
185 CPPUNIT_ASSERT(pChild->getSibling() == NULL);
187 pFun = pFunDB->findFunction(
"function_4");
188 CPPUNIT_ASSERT(pFun != NULL);
190 CPPUNIT_ASSERT(pKinFun != NULL);
194 CPPUNIT_ASSERT(pFunParams != NULL);
195 CPPUNIT_ASSERT(pFunParams->
size() == 2);
196 pFunParam = (*pFunParams)[0];
197 CPPUNIT_ASSERT(pFunParam != NULL);
198 CPPUNIT_ASSERT(pFunParam->getObjectName() == std::string(
"x"));
199 pFunParam = (*pFunParams)[1];
200 CPPUNIT_ASSERT(pFunParam != NULL);
201 CPPUNIT_ASSERT(pFunParam->getObjectName() == std::string(
"y"));
203 CPPUNIT_ASSERT(pRoot != NULL);
207 CPPUNIT_ASSERT(pChild != NULL);
211 CPPUNIT_ASSERT(pCallNode != NULL);
212 CPPUNIT_ASSERT(pCallNode->
getData() == std::string(
"function_2"));
214 CPPUNIT_ASSERT(pChild != NULL);
218 CPPUNIT_ASSERT(pVarNode != NULL);
219 CPPUNIT_ASSERT(pVarNode->
getData() == std::string(
"x"));
221 CPPUNIT_ASSERT(pChild != NULL);
225 CPPUNIT_ASSERT(pVarNode != NULL);
226 CPPUNIT_ASSERT(pVarNode->
getData() == std::string(
"y"));
227 CPPUNIT_ASSERT(pChild->getSibling() == NULL);
228 pChild =
dynamic_cast<const CEvaluationNode*
>(pRoot->getChild()->getSibling());
232 CPPUNIT_ASSERT(pNumberNode != NULL);
233 CPPUNIT_ASSERT(fabs((pNumberNode->
getValue() - 2.0) / 2.0) < 1e-6);
235 CPPUNIT_ASSERT(pChild == NULL);
237 pFun = pFunDB->findFunction(
"function_5");
238 CPPUNIT_ASSERT(pFun != NULL);
240 CPPUNIT_ASSERT(pKinFun != NULL);
244 CPPUNIT_ASSERT(pFunParams != NULL);
245 CPPUNIT_ASSERT(pFunParams->
size() == 3);
246 pFunParam = (*pFunParams)[0];
247 CPPUNIT_ASSERT(pFunParam != NULL);
248 CPPUNIT_ASSERT(pFunParam->getObjectName() == std::string(
"a"));
249 pFunParam = (*pFunParams)[1];
250 CPPUNIT_ASSERT(pFunParam != NULL);
251 CPPUNIT_ASSERT(pFunParam->getObjectName() == std::string(
"b"));
252 pFunParam = (*pFunParams)[2];
253 CPPUNIT_ASSERT(pFunParam != NULL);
254 CPPUNIT_ASSERT(pFunParam->getObjectName() == std::string(
"c"));
256 CPPUNIT_ASSERT(pRoot != NULL);
260 CPPUNIT_ASSERT(pChild != NULL);
264 CPPUNIT_ASSERT(pCallNode != NULL);
265 CPPUNIT_ASSERT(pCallNode->
getData() == std::string(
"function_3"));
267 CPPUNIT_ASSERT(pChild != NULL);
271 CPPUNIT_ASSERT(pVarNode != NULL);
272 CPPUNIT_ASSERT(pVarNode->
getData() == std::string(
"c"));
274 CPPUNIT_ASSERT(pChild != NULL);
278 CPPUNIT_ASSERT(pVarNode != NULL);
279 CPPUNIT_ASSERT(pVarNode->
getData() == std::string(
"a"));
280 CPPUNIT_ASSERT(pChild->getSibling() == NULL);
281 pChild =
dynamic_cast<const CEvaluationNode*
>(pRoot->getChild()->getSibling());
285 CPPUNIT_ASSERT(pChild != NULL);
289 CPPUNIT_ASSERT(pCallNode != NULL);
290 CPPUNIT_ASSERT(pCallNode->
getData() == std::string(
"function_1"));
292 CPPUNIT_ASSERT(pChild != NULL);
296 CPPUNIT_ASSERT(pVarNode != NULL);
297 CPPUNIT_ASSERT(pVarNode->
getData() == std::string(
"b"));
298 CPPUNIT_ASSERT(pChild->getSibling() == NULL);
299 pChild =
dynamic_cast<const CEvaluationNode*
>(pRoot->getChild()->getSibling()->getChild()->getSibling());
300 CPPUNIT_ASSERT(pChild != NULL);
304 CPPUNIT_ASSERT(pNumberNode != NULL);
305 CPPUNIT_ASSERT(fabs((pNumberNode->
getValue() - 5.23) / 5.23) < 1e-6);
306 CPPUNIT_ASSERT(pChild->getSibling() == NULL);
308 pFun = pFunDB->findFunction(
"function_6");
309 CPPUNIT_ASSERT(pFun != NULL);
311 CPPUNIT_ASSERT(pKinFun != NULL);
315 CPPUNIT_ASSERT(pFunParams != NULL);
316 CPPUNIT_ASSERT(pFunParams->
size() == 3);
317 pFunParam = (*pFunParams)[0];
318 CPPUNIT_ASSERT(pFunParam != NULL);
319 CPPUNIT_ASSERT(pFunParam->getObjectName() == std::string(
"k1"));
320 pFunParam = (*pFunParams)[1];
321 CPPUNIT_ASSERT(pFunParam != NULL);
322 CPPUNIT_ASSERT(pFunParam->getObjectName() == std::string(
"k2"));
323 pFunParam = (*pFunParams)[2];
324 CPPUNIT_ASSERT(pFunParam != NULL);
325 CPPUNIT_ASSERT(pFunParam->getObjectName() == std::string(
"k3"));
327 CPPUNIT_ASSERT(pRoot != NULL);
331 CPPUNIT_ASSERT(pCallNode != NULL);
332 CPPUNIT_ASSERT(pCallNode->
getData() == std::string(
"function_5"));
334 CPPUNIT_ASSERT(pChild != NULL);
338 CPPUNIT_ASSERT(pVarNode != NULL);
339 CPPUNIT_ASSERT(pVarNode->
getData() == std::string(
"k1"));
341 CPPUNIT_ASSERT(pChild != NULL);
345 CPPUNIT_ASSERT(pVarNode != NULL);
346 CPPUNIT_ASSERT(pVarNode->
getData() == std::string(
"k2"));
348 CPPUNIT_ASSERT(pChild != NULL);
352 CPPUNIT_ASSERT(pVarNode != NULL);
353 CPPUNIT_ASSERT(pVarNode->
getData() == std::string(
"k3"));
354 CPPUNIT_ASSERT(pChild->getSibling() == NULL);
358 CPPUNIT_ASSERT(pCompartment != NULL);
363 CPPUNIT_ASSERT(pMetab != NULL);
364 CPPUNIT_ASSERT(pMetab->getObjectName() ==
"A");
367 CPPUNIT_ASSERT(pMetab != NULL);
368 CPPUNIT_ASSERT(pMetab->getObjectName() ==
"B");
372 CPPUNIT_ASSERT(pMetab != NULL);
373 CPPUNIT_ASSERT(pMetab->getObjectName() ==
"C");
377 CPPUNIT_ASSERT(pTree != NULL);
378 pRoot = pTree->getRoot();
379 CPPUNIT_ASSERT(pRoot != NULL);
380 CPPUNIT_ASSERT(dynamic_cast<const CEvaluationNodeCall*>(pRoot) != NULL);
381 CPPUNIT_ASSERT(dynamic_cast<const CEvaluationNodeCall*>(pRoot)->getData() ==
"function_5");
384 CPPUNIT_ASSERT(pMetab != NULL);
385 CPPUNIT_ASSERT(pMetab->getObjectName() ==
"D");
388 pTree = pMetab->getExpressionPtr();
389 CPPUNIT_ASSERT(pTree != NULL);
390 pRoot = pTree->getRoot();
391 CPPUNIT_ASSERT(pRoot != NULL);
392 CPPUNIT_ASSERT(dynamic_cast<const CEvaluationNodeCall*>(pRoot) != NULL);
393 CPPUNIT_ASSERT(dynamic_cast<const CEvaluationNodeCall*>(pRoot)->getData() ==
"function_2");
396 CPPUNIT_ASSERT(pMetab != NULL);
397 CPPUNIT_ASSERT(pMetab->getObjectName() ==
"E");
400 pTree = pMetab->getExpressionPtr();
401 CPPUNIT_ASSERT(pTree != NULL);
402 pRoot = pTree->getRoot();
403 CPPUNIT_ASSERT(pRoot != NULL);
404 CPPUNIT_ASSERT(dynamic_cast<const CEvaluationNodeCall*>(pRoot) != NULL);
405 CPPUNIT_ASSERT(dynamic_cast<const CEvaluationNodeCall*>(pRoot)->getData() ==
"function_4");
408 CPPUNIT_ASSERT(pMetab != NULL);
409 CPPUNIT_ASSERT(pMetab->getObjectName() ==
"F");
412 pTree = pMetab->getExpressionPtr();
413 CPPUNIT_ASSERT(pTree != NULL);
414 pRoot = pTree->getRoot();
415 CPPUNIT_ASSERT(pRoot != NULL);
416 CPPUNIT_ASSERT(dynamic_cast<const CEvaluationNodeCall*>(pRoot) != NULL);
417 CPPUNIT_ASSERT(dynamic_cast<const CEvaluationNodeCall*>(pRoot)->getData() ==
"function_6");
422 CPPUNIT_ASSERT(pModelValue != NULL);
423 CPPUNIT_ASSERT(pModelValue->getObjectName() ==
"K1");
426 pTree = pModelValue->getExpressionPtr();
427 CPPUNIT_ASSERT(pTree != NULL);
428 pRoot = pTree->getRoot();
429 CPPUNIT_ASSERT(pRoot != NULL);
430 CPPUNIT_ASSERT(dynamic_cast<const CEvaluationNodeCall*>(pRoot) != NULL);
431 CPPUNIT_ASSERT(dynamic_cast<const CEvaluationNodeCall*>(pRoot)->getData() ==
"function_1");
434 CPPUNIT_ASSERT(pModelValue != NULL);
435 CPPUNIT_ASSERT(pModelValue->getObjectName() ==
"K2");
439 CPPUNIT_ASSERT(pModelValue != NULL);
440 CPPUNIT_ASSERT(pModelValue->getObjectName() ==
"K3");
442 pTree = pModelValue->getExpressionPtr();
443 CPPUNIT_ASSERT(pTree != NULL);
444 pRoot = pTree->getRoot();
445 CPPUNIT_ASSERT(pRoot != NULL);
446 CPPUNIT_ASSERT(dynamic_cast<const CEvaluationNodeCall*>(pRoot) != NULL);
447 CPPUNIT_ASSERT(dynamic_cast<const CEvaluationNodeCall*>(pRoot)->getData() ==
"function_3");
452 CPPUNIT_ASSERT(pReaction != NULL);
453 CPPUNIT_ASSERT(pReaction->getChemEq().getSubstrates().size() == 1);
454 CPPUNIT_ASSERT(pReaction->getChemEq().getProducts().size() == 1);
455 CPPUNIT_ASSERT(pReaction->getChemEq().getModifiers().size() == 0);
456 CPPUNIT_ASSERT(pReaction->isReversible() ==
true);
458 CPPUNIT_ASSERT(pReaction->getParameters().size() == 1);
459 const CFunction* pFunction = pReaction->getFunction();
460 CPPUNIT_ASSERT(pFunction != NULL);
462 CPPUNIT_ASSERT(pFunction->getObjectName() ==
"Function for reaction1");
463 pRoot = pFunction->getRoot();
464 CPPUNIT_ASSERT(pRoot != NULL);
467 CPPUNIT_ASSERT(pReaction != NULL);
468 CPPUNIT_ASSERT(pReaction->getChemEq().getSubstrates().size() == 1);
469 CPPUNIT_ASSERT(pReaction->getChemEq().getProducts().size() == 1);
470 CPPUNIT_ASSERT(pReaction->getChemEq().getModifiers().size() == 0);
471 CPPUNIT_ASSERT(pReaction->isReversible() ==
true);
473 CPPUNIT_ASSERT(pReaction->getParameters().size() == 2);
474 pFunction = pReaction->getFunction();
475 CPPUNIT_ASSERT(pFunction != NULL);
477 CPPUNIT_ASSERT(pFunction->getObjectName() ==
"Function for reaction2");
478 pRoot = pFunction->getRoot();
479 CPPUNIT_ASSERT(pRoot != NULL);
482 CPPUNIT_ASSERT(pReaction != NULL);
483 CPPUNIT_ASSERT(pReaction->getChemEq().getSubstrates().size() == 1);
484 CPPUNIT_ASSERT(pReaction->getChemEq().getProducts().size() == 1);
485 CPPUNIT_ASSERT(pReaction->getChemEq().getModifiers().size() == 0);
486 CPPUNIT_ASSERT(pReaction->isReversible() ==
true);
488 CPPUNIT_ASSERT(pReaction->getParameters().size() == 1);
489 pFunction = pReaction->getFunction();
490 CPPUNIT_ASSERT(pFunction != NULL);
492 CPPUNIT_ASSERT(pFunction->getObjectName() ==
"Function for reaction3");
493 pRoot = pFunction->getRoot();
494 CPPUNIT_ASSERT(pRoot != NULL);
497 CPPUNIT_ASSERT(pReaction != NULL);
498 CPPUNIT_ASSERT(pReaction->getChemEq().getSubstrates().size() == 1);
499 CPPUNIT_ASSERT(pReaction->getChemEq().getProducts().size() == 1);
500 CPPUNIT_ASSERT(pReaction->getChemEq().getModifiers().size() == 0);
501 CPPUNIT_ASSERT(pReaction->isReversible() ==
true);
503 CPPUNIT_ASSERT(pReaction->getParameters().size() == 0);
504 pFunction = pReaction->getFunction();
505 CPPUNIT_ASSERT(pFunction != NULL);
507 CPPUNIT_ASSERT(pFunction->getObjectName() ==
"Function for reaction4");
508 pRoot = pFunction->getRoot();
509 CPPUNIT_ASSERT(pRoot != NULL);
512 CPPUNIT_ASSERT(pReaction != NULL);
513 CPPUNIT_ASSERT(pReaction->getChemEq().getSubstrates().size() == 1);
514 CPPUNIT_ASSERT(pReaction->getChemEq().getProducts().size() == 1);
515 CPPUNIT_ASSERT(pReaction->getChemEq().getModifiers().size() == 0);
516 CPPUNIT_ASSERT(pReaction->isReversible() ==
true);
518 CPPUNIT_ASSERT(pReaction->getParameters().size() == 2);
519 pFunction = pReaction->getFunction();
520 CPPUNIT_ASSERT(pFunction != NULL);
522 CPPUNIT_ASSERT(pFunction->getObjectName() ==
"Function for reaction5");
523 pRoot = pFunction->getRoot();
524 CPPUNIT_ASSERT(pRoot != NULL);
527 CPPUNIT_ASSERT(pReaction != NULL);
528 CPPUNIT_ASSERT(pReaction->getChemEq().getSubstrates().size() == 1);
529 CPPUNIT_ASSERT(pReaction->getChemEq().getProducts().size() == 1);
530 CPPUNIT_ASSERT(pReaction->getChemEq().getModifiers().size() == 0);
531 CPPUNIT_ASSERT(pReaction->isReversible() ==
true);
533 CPPUNIT_ASSERT(pReaction->getParameters().size() == 3);
534 pFunction = pReaction->getFunction();
535 CPPUNIT_ASSERT(pFunction != NULL);
537 CPPUNIT_ASSERT(pFunction->getObjectName() ==
"Function for reaction6");
538 pRoot = pFunction->getRoot();
539 CPPUNIT_ASSERT(pRoot != NULL);
static CCopasiDataModel * pCOPASIDATAMODEL
const CCopasiVector< CMetab > & getMetabolites() const
const CCopasiVectorN< CModelValue > & getModelValues() const
CModel::QuantityUnit getQuantityUnitEnum() const
virtual size_t size() const
const C_FLOAT64 & getValue() const
const Type & getType() const
static Type type(const Type &type)
virtual const Data & getData() const
static CFunctionDB * getFunctionList()
CCopasiVectorNS< CCompartment > & getCompartments()
static Type subType(const Type &type)
CModel::TimeUnit getTimeUnitEnum() const
static const char * MODEL_STRING1
bool importSBMLFromString(const std::string &sbmlDocumentText, CProcessReport *pImportHandler=NULL, const bool &deleteOldData=true)
The class for handling a chemical kinetic function.
CCopasiVectorNS< CReaction > & getReactions()
virtual const Data & getData() const
CModel::VolumeUnit getVolumeUnitEnum() const
CEvaluationNode * getRoot()
CFunctionParameters & getVariables()