54 CPPUNIT_ASSERT(pModel != NULL);
55 CPPUNIT_ASSERT(pModel->getQuantityUnitEnum() ==
CModel::mMol);
56 CPPUNIT_ASSERT(pModel->getVolumeUnitEnum() ==
CModel::ml);
57 CPPUNIT_ASSERT(pModel->getTimeUnitEnum() ==
CModel::s);
58 CPPUNIT_ASSERT(pModel->getCompartments().size() == 1);
59 const CCompartment* pCompartment = pModel->getCompartments()[0];
60 CPPUNIT_ASSERT(pCompartment != NULL);
62 CPPUNIT_ASSERT(pModel->getMetabolites().size() == 2);
63 CMetab* pA = pModel->getMetabolites()[0];
64 CPPUNIT_ASSERT(pA != NULL);
66 const CMetab* pB = pModel->getMetabolites()[1];
67 CPPUNIT_ASSERT(pB != NULL);
69 CPPUNIT_ASSERT(pModel->getModelValues().size() == 2);
70 const CModelValue* pFactor = pModel->getModelValues()[1];
71 CPPUNIT_ASSERT(pFactor != NULL);
73 CPPUNIT_ASSERT(fabs((pFactor->getInitialValue() - pModel->getQuantity2NumberFactor()) / pModel->getQuantity2NumberFactor()) < 1e-3);
74 const CModelValue* pModelValue = pModel->getModelValues()[0];
75 CPPUNIT_ASSERT(pModelValue != NULL);
81 CPPUNIT_ASSERT(pNode != NULL);
83 CPPUNIT_ASSERT(pOperatorNode != NULL);
86 CPPUNIT_ASSERT(pNumberNode != NULL);
89 CPPUNIT_ASSERT(pOperatorNode != NULL);
92 CPPUNIT_ASSERT(pObjectNode != NULL);
94 CPPUNIT_ASSERT(!objectCN.empty());
95 std::vector<CCopasiContainer*> listOfContainers;
96 listOfContainers.push_back(pModel);
98 CPPUNIT_ASSERT(pObject != NULL);
100 CPPUNIT_ASSERT(pObject->
getObjectName() == std::string(
"InitialParticleNumber"));
103 CPPUNIT_ASSERT(pObjectNode != NULL);
104 objectCN = pObjectNode->getObjectCN();
105 CPPUNIT_ASSERT(!objectCN.empty());
107 CPPUNIT_ASSERT(pObject != NULL);
108 CPPUNIT_ASSERT(pObject->isReference() ==
true);
109 CPPUNIT_ASSERT(pObject->getObjectName() == std::string(
"InitialValue"));
110 CPPUNIT_ASSERT(pObject->getObjectParent() == pFactor);
112 CPPUNIT_ASSERT(pModel->getReactions().size() == 2);
113 const CReaction* pReaction1 = pModel->getReactions()[0];
114 CPPUNIT_ASSERT(pReaction1 != NULL);
115 CPPUNIT_ASSERT(pReaction1->isReversible() ==
false);
117 const CFunction* pKineticFunction = pReaction1->getFunction();
118 CPPUNIT_ASSERT(pKineticFunction != NULL);
122 CPPUNIT_ASSERT(pMassAction == NULL);
123 const CChemEq* pChemEq = &pReaction1->getChemEq();
124 CPPUNIT_ASSERT(pChemEq != NULL);
128 CPPUNIT_ASSERT(pElement != NULL);
129 CPPUNIT_ASSERT(fabs(pElement->getMultiplicity() - 1.0) < 1e-3);
130 CPPUNIT_ASSERT(pElement->getMetabolite() == pA);
134 const CReaction* pReaction2 = pModel->getReactions()[1];
135 CPPUNIT_ASSERT(pReaction2 != NULL);
136 CPPUNIT_ASSERT(pReaction2->isReversible() ==
false);
138 pKineticFunction = pReaction2->getFunction();
139 CPPUNIT_ASSERT(pKineticFunction != NULL);
140 CPPUNIT_ASSERT(pKineticFunction->getObjectName() == std::string(
"Henri-Michaelis-Menten (irreversible)"));
142 pChemEq = &pReaction2->getChemEq();
143 CPPUNIT_ASSERT(pChemEq != NULL);
144 CPPUNIT_ASSERT(pChemEq->getCompartmentNumber() == 1);
145 CPPUNIT_ASSERT(pChemEq->getSubstrates().size() == 1);
146 pElement = pChemEq->getSubstrates()[0];
147 CPPUNIT_ASSERT(pElement != NULL);
148 CPPUNIT_ASSERT(fabs(pElement->getMultiplicity() - 1.0) < 1e-3);
149 CPPUNIT_ASSERT(pElement->getMetabolite() == pA);
150 CPPUNIT_ASSERT(pChemEq->getProducts().size() == 1);
151 pElement = pChemEq->getProducts()[0];
152 CPPUNIT_ASSERT(pElement != NULL);
153 CPPUNIT_ASSERT(fabs(pElement->getMultiplicity() - 1.0) < 1e-3);
154 CPPUNIT_ASSERT(pElement->getMetabolite() == pB);
155 CPPUNIT_ASSERT(pChemEq->getModifiers().size() == 0);
156 const std::vector<std::vector<std::string> > parameterMappings = pReaction2->getParameterMappings();
157 CPPUNIT_ASSERT(parameterMappings.size() == 3);
158 CPPUNIT_ASSERT(parameterMappings[0].size() == 1);
159 const std::string parameterKey = parameterMappings[0][0];
160 CPPUNIT_ASSERT(parameterKey == pA->getKey());
size_t getCompartmentNumber() const
const std::string & getObjectName() const
virtual size_t size() const
static CCopasiDataModel * pCOPASIDATAMODEL
const Type & getType() const
static const char * MODEL_STRING
const CCopasiVector< CChemEqElement > & getProducts() const
std::string getInitialExpression() const
const CCopasiVector< CChemEqElement > & getSubstrates() const
static Type subType(const Type &type)
const CCopasiVector< CChemEqElement > & getModifiers() const
bool importSBMLFromString(const std::string &sbmlDocumentText, CProcessReport *pImportHandler=NULL, const bool &deleteOldData=true)
The class for handling a chemical kinetic function.
const CModelEntity::Status & getStatus() const
CCopasiNode< Data > * getChild()
CCopasiObject * ObjectFromName(const std::vector< CCopasiContainer * > &listOfContainer, const CCopasiObjectName &CN) const
CCopasiContainer * getObjectParent() const
const CExpression * getInitialExpressionPtr() const