|
From: <sar...@us...> - 2009-02-25 21:28:11
|
Revision: 9125
http://sbml.svn.sourceforge.net/sbml/?rev=9125&view=rev
Author: sarahkeating
Date: 2009-02-25 21:28:08 +0000 (Wed, 25 Feb 2009)
Log Message:
-----------
changed code so that an add function will fail if the object to be added duplicates the id of an existing object
NOTE: only similar object ids are checked - not objects within the entirety of the parent
Modified Paths:
--------------
branches/libsbml-4/src/sbml/KineticLaw.cpp
branches/libsbml-4/src/sbml/Model.cpp
branches/libsbml-4/src/sbml/test/TestEvent_newSetters.c
branches/libsbml-4/src/sbml/test/TestModel_newSetters.c
Modified: branches/libsbml-4/src/sbml/KineticLaw.cpp
===================================================================
--- branches/libsbml-4/src/sbml/KineticLaw.cpp 2009-02-25 19:14:56 UTC (rev 9124)
+++ branches/libsbml-4/src/sbml/KineticLaw.cpp 2009-02-25 21:28:08 UTC (rev 9125)
@@ -429,6 +429,11 @@
{
return LIBSBML_VERSION_MISMATCH;
}
+ else if (getParameter(p->getId()) != NULL)
+ {
+ // an parameter with this id already exists
+ return LIBSBML_DUPLICATE_OBJECT_ID;
+ }
else
{
/* if the ListOf is empty it doesnt know its parent */
Modified: branches/libsbml-4/src/sbml/Model.cpp
===================================================================
--- branches/libsbml-4/src/sbml/Model.cpp 2009-02-25 19:14:56 UTC (rev 9124)
+++ branches/libsbml-4/src/sbml/Model.cpp 2009-02-25 21:28:08 UTC (rev 9125)
@@ -299,6 +299,11 @@
{
return LIBSBML_VERSION_MISMATCH;
}
+ else if (getFunctionDefinition(fd->getId()) != NULL)
+ {
+ // an object with this id already exists
+ return LIBSBML_DUPLICATE_OBJECT_ID;
+ }
else
{
/* if the ListOf is empty it doesnt know its parent */
@@ -333,6 +338,11 @@
{
return LIBSBML_VERSION_MISMATCH;
}
+ else if (getUnitDefinition(ud->getId()) != NULL)
+ {
+ // an object with this id already exists
+ return LIBSBML_DUPLICATE_OBJECT_ID;
+ }
else
{
/* if the ListOf is empty it doesnt know its parent */
@@ -367,6 +377,11 @@
{
return LIBSBML_VERSION_MISMATCH;
}
+ else if (getCompartmentType(ct->getId()) != NULL)
+ {
+ // an object with this id already exists
+ return LIBSBML_DUPLICATE_OBJECT_ID;
+ }
else
{
/* if the ListOf is empty it doesnt know its parent */
@@ -401,6 +416,11 @@
{
return LIBSBML_VERSION_MISMATCH;
}
+ else if (getSpeciesType(st->getId()) != NULL)
+ {
+ // an object with this id already exists
+ return LIBSBML_DUPLICATE_OBJECT_ID;
+ }
else
{
/* if the ListOf is empty it doesnt know its parent */
@@ -435,6 +455,11 @@
{
return LIBSBML_VERSION_MISMATCH;
}
+ else if (getCompartment(c->getId()) != NULL)
+ {
+ // an object with this id already exists
+ return LIBSBML_DUPLICATE_OBJECT_ID;
+ }
else
{
/* if the ListOf is empty it doesnt know its parent */
@@ -469,6 +494,11 @@
{
return LIBSBML_VERSION_MISMATCH;
}
+ else if (getSpecies(s->getId()) != NULL)
+ {
+ // an object with this id already exists
+ return LIBSBML_DUPLICATE_OBJECT_ID;
+ }
else
{
/* if the ListOf is empty it doesnt know its parent */
@@ -503,6 +533,11 @@
{
return LIBSBML_VERSION_MISMATCH;
}
+ else if (getParameter(p->getId()) != NULL)
+ {
+ // an object with this id already exists
+ return LIBSBML_DUPLICATE_OBJECT_ID;
+ }
else
{
/* if the ListOf is empty it doesnt know its parent */
@@ -537,6 +572,11 @@
{
return LIBSBML_VERSION_MISMATCH;
}
+ else if (getInitialAssignment(ia->getSymbol()) != NULL)
+ {
+ // an object with this id already exists
+ return LIBSBML_DUPLICATE_OBJECT_ID;
+ }
else
{
/* if the ListOf is empty it doesnt know its parent */
@@ -571,6 +611,11 @@
{
return LIBSBML_VERSION_MISMATCH;
}
+ else if (getRule(r->getVariable()) != NULL)
+ {
+ // an object with this id already exists
+ return LIBSBML_DUPLICATE_OBJECT_ID;
+ }
else
{
/* if the ListOf is empty it doesnt know its parent */
@@ -639,6 +684,11 @@
{
return LIBSBML_VERSION_MISMATCH;
}
+ else if (getReaction(r->getId()) != NULL)
+ {
+ // an object with this id already exists
+ return LIBSBML_DUPLICATE_OBJECT_ID;
+ }
else
{
/* if the ListOf is empty it doesnt know its parent */
@@ -673,6 +723,11 @@
{
return LIBSBML_VERSION_MISMATCH;
}
+ else if (e->isSetId() && getEvent(e->getId()) != NULL)
+ {
+ // an object with this id already exists
+ return LIBSBML_DUPLICATE_OBJECT_ID;
+ }
else
{
/* if the ListOf is empty it doesnt know its parent */
Modified: branches/libsbml-4/src/sbml/test/TestEvent_newSetters.c
===================================================================
--- branches/libsbml-4/src/sbml/test/TestEvent_newSetters.c 2009-02-25 19:14:56 UTC (rev 9124)
+++ branches/libsbml-4/src/sbml/test/TestEvent_newSetters.c 2009-02-25 21:28:08 UTC (rev 9125)
@@ -353,6 +353,33 @@
END_TEST
+START_TEST (test_Event_addEventAssignment4)
+{
+ Event_t *e = Event_createWithLevelVersionAndNamespaces(2, 2, 0);
+ EventAssignment_t *ea
+ = EventAssignment_createWithLevelVersionAndNamespaces(2, 2, 0);
+ ea->setVariable("c");
+ EventAssignment_t *ea1
+ = EventAssignment_createWithLevelVersionAndNamespaces(2, 2, 0);
+ ea1->setVariable("c");
+
+ int i = Event_addEventAssignment(e, ea);
+
+ fail_unless( i == LIBSBML_OPERATION_SUCCESS);
+ fail_unless( Event_getNumEventAssignments(e) == 1);
+
+ i = Event_addEventAssignment(e, ea1);
+
+ fail_unless( i == LIBSBML_DUPLICATE_OBJECT_ID);
+ fail_unless( Event_getNumEventAssignments(e) == 1);
+
+ EventAssignment_free(ea);
+ EventAssignment_free(ea1);
+ Event_free(e);
+}
+END_TEST
+
+
START_TEST (test_Event_createEventAssignment)
{
Event_t *e = Event_createWithLevelVersionAndNamespaces(2, 2, 0);
@@ -398,6 +425,7 @@
tcase_add_test( tcase, test_Event_addEventAssignment1 );
tcase_add_test( tcase, test_Event_addEventAssignment2 );
tcase_add_test( tcase, test_Event_addEventAssignment3 );
+ tcase_add_test( tcase, test_Event_addEventAssignment4 );
tcase_add_test( tcase, test_Event_createEventAssignment );
suite_add_tcase(suite, tcase);
Modified: branches/libsbml-4/src/sbml/test/TestModel_newSetters.c
===================================================================
--- branches/libsbml-4/src/sbml/test/TestModel_newSetters.c 2009-02-25 19:14:56 UTC (rev 9124)
+++ branches/libsbml-4/src/sbml/test/TestModel_newSetters.c 2009-02-25 21:28:08 UTC (rev 9125)
@@ -250,6 +250,34 @@
END_TEST
+START_TEST (test_Model_addFunctionDefinition4)
+{
+ Model_t *m = Model_createWithLevelVersionAndNamespaces(2, 2, 0);
+ FunctionDefinition_t *fd
+ = FunctionDefinition_createWithLevelVersionAndNamespaces(2, 2, 0);
+ FunctionDefinition_setId(fd, "fd");
+ FunctionDefinition_t *fd1
+ = FunctionDefinition_createWithLevelVersionAndNamespaces(2, 2, 0);
+ FunctionDefinition_setId(fd1, "fd");
+
+ int i = Model_addFunctionDefinition(m, fd);
+
+ fail_unless( i == LIBSBML_OPERATION_SUCCESS);
+ fail_unless( Model_getNumFunctionDefinitions(m) == 1);
+
+ i = Model_addFunctionDefinition(m, fd1);
+
+ fail_unless( i == LIBSBML_DUPLICATE_OBJECT_ID);
+ fail_unless( Model_getNumFunctionDefinitions(m) == 1);
+
+ FunctionDefinition_free(fd);
+ FunctionDefinition_free(fd1);
+
+ Model_free(m);
+}
+END_TEST
+
+
START_TEST (test_Model_addCompartmentType1)
{
Model_t *m = Model_createWithLevelVersionAndNamespaces(2, 2, 0);
@@ -299,6 +327,34 @@
END_TEST
+START_TEST (test_Model_addCompartmentType4)
+{
+ Model_t *m = Model_createWithLevelVersionAndNamespaces(2, 2, 0);
+ CompartmentType_t *ct
+ = CompartmentType_createWithLevelVersionAndNamespaces(2, 2, 0);
+ CompartmentType_setId(ct, "ct");
+ CompartmentType_t *ct1
+ = CompartmentType_createWithLevelVersionAndNamespaces(2, 2, 0);
+ CompartmentType_setId(ct1, "ct");
+
+ int i = Model_addCompartmentType(m, ct);
+
+ fail_unless( i == LIBSBML_OPERATION_SUCCESS);
+ fail_unless( Model_getNumCompartmentTypes(m) == 1);
+
+ i = Model_addCompartmentType(m, ct1);
+
+ fail_unless( i == LIBSBML_DUPLICATE_OBJECT_ID);
+ fail_unless( Model_getNumCompartmentTypes(m) == 1);
+
+ CompartmentType_free(ct);
+ CompartmentType_free(ct1);
+
+ Model_free(m);
+}
+END_TEST
+
+
START_TEST (test_Model_addSpeciesType1)
{
Model_t *m = Model_createWithLevelVersionAndNamespaces(2, 2, 0);
@@ -348,6 +404,34 @@
END_TEST
+START_TEST (test_Model_addSpeciesType4)
+{
+ Model_t *m = Model_createWithLevelVersionAndNamespaces(2, 2, 0);
+ SpeciesType_t *st
+ = SpeciesType_createWithLevelVersionAndNamespaces(2, 2, 0);
+ SpeciesType_setId(st, "st");
+ SpeciesType_t *st1
+ = SpeciesType_createWithLevelVersionAndNamespaces(2, 2, 0);
+ SpeciesType_setId(st1, "st");
+
+ int i = Model_addSpeciesType(m, st);
+
+ fail_unless( i == LIBSBML_OPERATION_SUCCESS);
+ fail_unless( Model_getNumSpeciesTypes(m) == 1);
+
+ i = Model_addSpeciesType(m, st1);
+
+ fail_unless( i == LIBSBML_DUPLICATE_OBJECT_ID);
+ fail_unless( Model_getNumSpeciesTypes(m) == 1);
+
+ SpeciesType_free(st);
+ SpeciesType_free(st1);
+
+ Model_free(m);
+}
+END_TEST
+
+
START_TEST (test_Model_addInitialAssignment1)
{
Model_t *m = Model_createWithLevelVersionAndNamespaces(2, 2, 0);
@@ -397,6 +481,34 @@
END_TEST
+START_TEST (test_Model_addInitialAssignment4)
+{
+ Model_t *m = Model_createWithLevelVersionAndNamespaces(2, 2, 0);
+ InitialAssignment_t *ia
+ = InitialAssignment_createWithLevelVersionAndNamespaces(2, 2, 0);
+ InitialAssignment_setSymbol(ia, "ia");
+ InitialAssignment_t *ia1
+ = InitialAssignment_createWithLevelVersionAndNamespaces(2, 2, 0);
+ InitialAssignment_setSymbol(ia1, "ia");
+
+ int i = Model_addInitialAssignment(m, ia);
+
+ fail_unless( i == LIBSBML_OPERATION_SUCCESS);
+ fail_unless( Model_getNumInitialAssignments(m) == 1);
+
+ i = Model_addInitialAssignment(m, ia1);
+
+ fail_unless( i == LIBSBML_DUPLICATE_OBJECT_ID);
+ fail_unless( Model_getNumInitialAssignments(m) == 1);
+
+ InitialAssignment_free(ia);
+ InitialAssignment_free(ia1);
+
+ Model_free(m);
+}
+END_TEST
+
+
START_TEST (test_Model_addConstraint1)
{
Model_t *m = Model_createWithLevelVersionAndNamespaces(2, 2, 0);
@@ -495,6 +607,34 @@
END_TEST
+START_TEST (test_Model_addEvent4)
+{
+ Model_t *m = Model_createWithLevelVersionAndNamespaces(2, 2, 0);
+ Event_t *e
+ = Event_createWithLevelVersionAndNamespaces(2, 2, 0);
+ Event_setId(e, "e");
+ Event_t *e1
+ = Event_createWithLevelVersionAndNamespaces(2, 2, 0);
+ Event_setId(e1, "e");
+
+ int i = Model_addEvent(m, e);
+
+ fail_unless( i == LIBSBML_OPERATION_SUCCESS);
+ fail_unless( Model_getNumEvents(m) == 1);
+
+ i = Model_addEvent(m, e1);
+
+ fail_unless( i == LIBSBML_DUPLICATE_OBJECT_ID);
+ fail_unless( Model_getNumEvents(m) == 1);
+
+ Event_free(e);
+ Event_free(e1);
+
+ Model_free(m);
+}
+END_TEST
+
+
START_TEST (test_Model_addUnitDefinition1)
{
Model_t *m = Model_createWithLevelVersionAndNamespaces(2, 2, 0);
@@ -561,6 +701,34 @@
END_TEST
+START_TEST (test_Model_addUnitDefinition5)
+{
+ Model_t *m = Model_createWithLevelVersionAndNamespaces(2, 2, 0);
+ UnitDefinition_t *ud
+ = UnitDefinition_createWithLevelVersionAndNamespaces(2, 2, 0);
+ UnitDefinition_setId(ud, "ud");
+ UnitDefinition_t *ud1
+ = UnitDefinition_createWithLevelVersionAndNamespaces(2, 2, 0);
+ UnitDefinition_setId(ud1, "ud");
+
+ int i = Model_addUnitDefinition(m, ud);
+
+ fail_unless( i == LIBSBML_OPERATION_SUCCESS);
+ fail_unless( Model_getNumUnitDefinitions(m) == 1);
+
+ i = Model_addUnitDefinition(m, ud1);
+
+ fail_unless( i == LIBSBML_DUPLICATE_OBJECT_ID);
+ fail_unless( Model_getNumUnitDefinitions(m) == 1);
+
+ UnitDefinition_free(ud);
+ UnitDefinition_free(ud1);
+
+ Model_free(m);
+}
+END_TEST
+
+
START_TEST (test_Model_addCompartment1)
{
Model_t *m = Model_createWithLevelVersionAndNamespaces(2, 2, 0);
@@ -627,6 +795,34 @@
END_TEST
+START_TEST (test_Model_addCompartment5)
+{
+ Model_t *m = Model_createWithLevelVersionAndNamespaces(2, 2, 0);
+ Compartment_t *c
+ = Compartment_createWithLevelVersionAndNamespaces(2, 2, 0);
+ Compartment_setId(c, "c");
+ Compartment_t *c1
+ = Compartment_createWithLevelVersionAndNamespaces(2, 2, 0);
+ Compartment_setId(c1, "c");
+
+ int i = Model_addCompartment(m, c);
+
+ fail_unless( i == LIBSBML_OPERATION_SUCCESS);
+ fail_unless( Model_getNumCompartments(m) == 1);
+
+ i = Model_addCompartment(m, c1);
+
+ fail_unless( i == LIBSBML_DUPLICATE_OBJECT_ID);
+ fail_unless( Model_getNumCompartments(m) == 1);
+
+ Compartment_free(c);
+ Compartment_free(c1);
+
+ Model_free(m);
+}
+END_TEST
+
+
START_TEST (test_Model_addSpecies1)
{
Model_t *m = Model_createWithLevelVersionAndNamespaces(2, 2, 0);
@@ -693,6 +889,34 @@
END_TEST
+START_TEST (test_Model_addSpecies5)
+{
+ Model_t *m = Model_createWithLevelVersionAndNamespaces(2, 2, 0);
+ Species_t *s
+ = Species_createWithLevelVersionAndNamespaces(2, 2, 0);
+ Species_setId(s, "s");
+ Species_t *s1
+ = Species_createWithLevelVersionAndNamespaces(2, 2, 0);
+ Species_setId(s1, "s");
+
+ int i = Model_addSpecies(m, s);
+
+ fail_unless( i == LIBSBML_OPERATION_SUCCESS);
+ fail_unless( Model_getNumSpeciess(m) == 1);
+
+ i = Model_addSpecies(m, s1);
+
+ fail_unless( i == LIBSBML_DUPLICATE_OBJECT_ID);
+ fail_unless( Model_getNumSpeciess(m) == 1);
+
+ Species_free(s);
+ Species_free(s1);
+
+ Model_free(m);
+}
+END_TEST
+
+
START_TEST (test_Model_addParameter1)
{
Model_t *m = Model_createWithLevelVersionAndNamespaces(2, 2, 0);
@@ -759,6 +983,34 @@
END_TEST
+START_TEST (test_Model_addParameter5)
+{
+ Model_t *m = Model_createWithLevelVersionAndNamespaces(2, 2, 0);
+ Parameter_t *p
+ = Parameter_createWithLevelVersionAndNamespaces(2, 2, 0);
+ Parameter_setId(p, "p");
+ Parameter_t *p1
+ = Parameter_createWithLevelVersionAndNamespaces(2, 2, 0);
+ Parameter_setId(p1, "p");
+
+ int i = Model_addParameter(m, p);
+
+ fail_unless( i == LIBSBML_OPERATION_SUCCESS);
+ fail_unless( Model_getNumParameters(m) == 1);
+
+ i = Model_addParameter(m, p1);
+
+ fail_unless( i == LIBSBML_DUPLICATE_OBJECT_ID);
+ fail_unless( Model_getNumParameters(m) == 1);
+
+ Parameter_free(p);
+ Parameter_free(p1);
+
+ Model_free(m);
+}
+END_TEST
+
+
START_TEST (test_Model_addRule1)
{
Model_t *m = Model_createWithLevelVersionAndNamespaces(2, 2, 0);
@@ -825,6 +1077,34 @@
END_TEST
+START_TEST (test_Model_addRule5)
+{
+ Model_t *m = Model_createWithLevelVersionAndNamespaces(2, 2, 0);
+ Rule_t *ar
+ = Rule_createAssignmentWithLevelVersionAndNamespaces(2, 2, 0);
+ Rule_setVariable(ar, "ar");
+ Rule_t *ar1
+ = Rule_createAssignmentWithLevelVersionAndNamespaces(2, 2, 0);
+ Rule_setVariable(ar1, "ar");
+
+ int i = Model_addRule(m, ar);
+
+ fail_unless( i == LIBSBML_OPERATION_SUCCESS);
+ fail_unless( Model_getNumRules(m) == 1);
+
+ i = Model_addRule(m, ar1);
+
+ fail_unless( i == LIBSBML_DUPLICATE_OBJECT_ID);
+ fail_unless( Model_getNumRules(m) == 1);
+
+ Rule_free(ar);
+ Rule_free(ar1);
+
+ Model_free(m);
+}
+END_TEST
+
+
START_TEST (test_Model_addReaction1)
{
Model_t *m = Model_createWithLevelVersionAndNamespaces(2, 2, 0);
@@ -891,6 +1171,34 @@
END_TEST
+START_TEST (test_Model_addReaction5)
+{
+ Model_t *m = Model_createWithLevelVersionAndNamespaces(2, 2, 0);
+ Reaction_t *r
+ = Reaction_createWithLevelVersionAndNamespaces(2, 2, 0);
+ Reaction_setId(r, "r");
+ Reaction_t *r1
+ = Reaction_createWithLevelVersionAndNamespaces(2, 2, 0);
+ Reaction_setId(r1, "r");
+
+ int i = Model_addReaction(m, r);
+
+ fail_unless( i == LIBSBML_OPERATION_SUCCESS);
+ fail_unless( Model_getNumReactions(m) == 1);
+
+ i = Model_addReaction(m, r1);
+
+ fail_unless( i == LIBSBML_DUPLICATE_OBJECT_ID);
+ fail_unless( Model_getNumReactions(m) == 1);
+
+ Reaction_free(r);
+ Reaction_free(r1);
+
+ Model_free(m);
+}
+END_TEST
+
+
START_TEST (test_Model_createFunctionDefinition)
{
Model_t *m = Model_createWithLevelVersionAndNamespaces(2, 2, 0);
@@ -1208,45 +1516,56 @@
tcase_add_test( tcase, test_Model_addFunctionDefinition1 );
tcase_add_test( tcase, test_Model_addFunctionDefinition2 );
tcase_add_test( tcase, test_Model_addFunctionDefinition3 );
+ tcase_add_test( tcase, test_Model_addFunctionDefinition4 );
tcase_add_test( tcase, test_Model_addCompartmentType1 );
tcase_add_test( tcase, test_Model_addCompartmentType2 );
tcase_add_test( tcase, test_Model_addCompartmentType3 );
+ tcase_add_test( tcase, test_Model_addCompartmentType4 );
tcase_add_test( tcase, test_Model_addSpeciesType1 );
tcase_add_test( tcase, test_Model_addSpeciesType2 );
tcase_add_test( tcase, test_Model_addSpeciesType3 );
+ tcase_add_test( tcase, test_Model_addSpeciesType4 );
tcase_add_test( tcase, test_Model_addInitialAssignment1 );
tcase_add_test( tcase, test_Model_addInitialAssignment2 );
tcase_add_test( tcase, test_Model_addInitialAssignment3 );
+ tcase_add_test( tcase, test_Model_addInitialAssignment4 );
tcase_add_test( tcase, test_Model_addConstraint1 );
tcase_add_test( tcase, test_Model_addConstraint2 );
tcase_add_test( tcase, test_Model_addConstraint3 );
tcase_add_test( tcase, test_Model_addEvent1 );
tcase_add_test( tcase, test_Model_addEvent2 );
tcase_add_test( tcase, test_Model_addEvent3 );
+ tcase_add_test( tcase, test_Model_addEvent4 );
tcase_add_test( tcase, test_Model_addUnitDefinition1 );
tcase_add_test( tcase, test_Model_addUnitDefinition2 );
tcase_add_test( tcase, test_Model_addUnitDefinition3 );
tcase_add_test( tcase, test_Model_addUnitDefinition4 );
+ tcase_add_test( tcase, test_Model_addUnitDefinition5 );
tcase_add_test( tcase, test_Model_addCompartment1 );
tcase_add_test( tcase, test_Model_addCompartment2 );
tcase_add_test( tcase, test_Model_addCompartment3 );
tcase_add_test( tcase, test_Model_addCompartment4 );
+ tcase_add_test( tcase, test_Model_addCompartment5 );
tcase_add_test( tcase, test_Model_addSpecies1 );
tcase_add_test( tcase, test_Model_addSpecies2 );
tcase_add_test( tcase, test_Model_addSpecies3 );
tcase_add_test( tcase, test_Model_addSpecies4 );
+ tcase_add_test( tcase, test_Model_addSpecies5 );
tcase_add_test( tcase, test_Model_addParameter1 );
tcase_add_test( tcase, test_Model_addParameter2 );
tcase_add_test( tcase, test_Model_addParameter3 );
tcase_add_test( tcase, test_Model_addParameter4 );
+ tcase_add_test( tcase, test_Model_addParameter5 );
tcase_add_test( tcase, test_Model_addRule1 );
tcase_add_test( tcase, test_Model_addRule2 );
tcase_add_test( tcase, test_Model_addRule3 );
tcase_add_test( tcase, test_Model_addRule4 );
+ tcase_add_test( tcase, test_Model_addRule5 );
tcase_add_test( tcase, test_Model_addReaction1 );
tcase_add_test( tcase, test_Model_addReaction2 );
tcase_add_test( tcase, test_Model_addReaction3 );
tcase_add_test( tcase, test_Model_addReaction4 );
+ tcase_add_test( tcase, test_Model_addReaction5 );
tcase_add_test( tcase, test_Model_createFunctionDefinition );
tcase_add_test( tcase, test_Model_createUnitDefinition );
tcase_add_test( tcase, test_Model_createCompartmentType );
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|