END_TEST START_TEST (test_Species_setSpatialSizeUnits) { Species_t *s = Species_create(2, 1); const char *units = "volume"; Species_setSpatialSizeUnits(s, units); fail_unless( !strcmp(Species_getSpatialSizeUnits(s), units) ); fail_unless( Species_isSetSpatialSizeUnits(s) ); if (Species_getSpatialSizeUnits(s) == units) { fail("Species_setSpatialSizeUnits(...) did not make a copy of string."); } /* Reflexive case (pathological) */ Species_setSpatialSizeUnits(s, Species_getSpatialSizeUnits(s)); fail_unless( !strcmp(Species_getSpatialSizeUnits(s), units) ); Species_setSpatialSizeUnits(s, NULL); fail_unless( !Species_isSetSpatialSizeUnits(s) ); if (Species_getSpatialSizeUnits(s) != NULL) { fail("Species_setSpatialSizeUnits(S, NULL) did not clear string."); } Species_free(s); }
END_TEST START_TEST (test_Species_setSpatialSizeUnits1) { int i = Species_setSpatialSizeUnits(C, "mm"); fail_unless( i == LIBSBML_UNEXPECTED_ATTRIBUTE ); fail_unless( !Species_isSetSpatialSizeUnits(C) ); }
END_TEST START_TEST (test_Species_setSpatialSizeUnits4) { Species_t *c = Species_create(2, 2); int i = Species_setSpatialSizeUnits(c, NULL); fail_unless( i == LIBSBML_OPERATION_SUCCESS ); fail_unless( !Species_isSetSpatialSizeUnits(c) ); Species_free(c); }
END_TEST START_TEST (test_Species_setSpatialSizeUnits2) { Species_t *c = Species_create(2, 2); int i = Species_setSpatialSizeUnits(c, "1cell"); fail_unless( i == LIBSBML_INVALID_ATTRIBUTE_VALUE ); fail_unless( !Species_isSetSpatialSizeUnits(c) ); Species_free(c); }
END_TEST START_TEST (test_Species_setSpatialSizeUnits3) { Species_t *c = Species_create(2, 2); int i = Species_setSpatialSizeUnits(c, "mole"); fail_unless( i == LIBSBML_OPERATION_SUCCESS ); fail_unless( !strcmp(Species_getSpatialSizeUnits(c), "mole") ); fail_unless( Species_isSetSpatialSizeUnits(c) ); Species_free(c); }
/* setValues: the user can enter a species name and change its initial condition (amount or concentration) */ static void setValues(Model_t *m) { char *species; char *newIA; char *newIC; Species_t *s; printf("Please enter the id of the species to change: "); species = get_line(stdin); species = util_trim(species); if ( (s = Model_getSpeciesById(m,species) ) ) { printf("\n"); printf("Id: %s\n", Species_getId(s)); if ( Species_isSetName(s) ) { printf("Name: %s\n", Species_getName(s)); } if ( Species_isSetInitialAmount(s) ) { printf("Initial Amount: %g", Species_getInitialAmount(s)); } else if (Species_isSetInitialConcentration(s) ) { printf("Initial Concentration: %g", Species_getInitialConcentration(s)); } if ( Species_getHasOnlySubstanceUnits(s) ) { if ( Species_isSetSubstanceUnits(s) ) { printf("%s ", Species_getSubstanceUnits(s)); } } else { if ( Species_isSetSubstanceUnits(s) ) { printf("%s ", Species_getSubstanceUnits(s)); } if ( Species_isSetSpatialSizeUnits(s) ) { printf("%s%s", "/", Species_getSpatialSizeUnits(s)); } } if ( Species_getHasOnlySubstanceUnits(s) ) { printf(" (has only substance units)"); } printf("\n"); if ( Species_isSetCharge(s) ) { printf("Charge: %-10d", Species_getCharge(s)); } printf("\n"); printf("%s ", Species_getBoundaryCondition(s) ? "Species is a Boundary\n" : "\n"); printf("%s ", Species_getConstant(s) ? "Species is set constant" : "\n"); printf("\n"); if ( Species_isSetInitialAmount(s) ) { printf("Please enter new initial Amount: "); newIA = get_line(stdin); newIA = util_trim(newIA); Species_setInitialAmount(s, (float) atof(newIA)); } else if ( Species_isSetInitialConcentration(s) ) { printf("Please enter new initial Concentration: "); newIC = get_line(stdin); newIC = util_trim(newIC); Species_setInitialConcentration(s, (float) atof(newIC)); } } else { printf("%s not found.\n", species); } }