END_TEST START_TEST (test_comp_sbase) { SBMLNamespaces sbmlns(3,1,"comp",1); Parameter param(&sbmlns); CompSBasePlugin* pplugin = static_cast<CompSBasePlugin*>(param.getPlugin("comp")); fail_unless(pplugin->getNumReplacedElements()==0); ReplacedElement* re = pplugin->createReplacedElement(); re->setMetaId("re1"); fail_unless(pplugin->getNumReplacedElements()==1); fail_unless(pplugin->addReplacedElement(NULL)==LIBSBML_INVALID_OBJECT); ReplacedElement re2(3, 1); re2.setMetaId("re2"); fail_unless(pplugin->addReplacedElement(&re2)==LIBSBML_INVALID_OBJECT); re2.setDeletion("ID1"); fail_unless(pplugin->addReplacedElement(&re2)==LIBSBML_INVALID_OBJECT); re2.setSubmodelRef("mod1"); fail_unless(pplugin->addReplacedElement(&re2)==LIBSBML_OPERATION_SUCCESS); ReplacedElement* reref = pplugin->getReplacedElement(1); fail_unless(reref != NULL); fail_unless(reref->getMetaId()=="re2"); reref = pplugin->getReplacedElement(0); fail_unless(reref != NULL); fail_unless(reref->getMetaId()=="re1"); re->setDeletion("ID1"); fail_unless(reref->getDeletion()=="ID1"); fail_unless(pplugin->removeReplacedElement(3)==NULL); fail_unless(pplugin->removeReplacedElement(0)==re); fail_unless(pplugin->getReplacedElement(1)==NULL); fail_unless(pplugin->isSetReplacedBy()==false); ReplacedBy* rb = pplugin->createReplacedBy(); fail_unless(rb != NULL); fail_unless(pplugin->isSetReplacedBy()==true); fail_unless(pplugin->setReplacedBy(NULL)==LIBSBML_OPERATION_SUCCESS); fail_unless(pplugin->isSetReplacedBy()==false); ReplacedBy rb2(3,1); fail_unless(pplugin->setReplacedBy(&rb2)==LIBSBML_INVALID_OBJECT); rb2.setIdRef("ID1"); fail_unless(pplugin->setReplacedBy(&rb2)==LIBSBML_INVALID_OBJECT); rb2.setSubmodelRef("mod1"); fail_unless(pplugin->setReplacedBy(&rb2)==LIBSBML_OPERATION_SUCCESS); fail_unless(pplugin->unsetReplacedBy()==LIBSBML_OPERATION_SUCCESS); }