LIBSBML_CPP_NAMESPACE_USE CK_CPPSTART #endif START_TEST (test_ModelHistory_setCreatedDate1) { ModelHistory_t * mh = ModelHistory_create(); fail_unless(mh != NULL); Date_t *date = Date_createFromString("2005-12-30T12:15:32+02:00"); int i = ModelHistory_setCreatedDate(mh, date); fail_unless( i == LIBSBML_OPERATION_SUCCESS ); fail_unless(ModelHistory_isSetCreatedDate(mh) == 1); fail_unless(date != ModelHistory_getCreatedDate(mh)); const char * dateChar = Date_getDateAsString(ModelHistory_getCreatedDate(mh)); fail_unless(!strcmp(dateChar, "2005-12-30T12:15:32+02:00")); i = ModelHistory_setCreatedDate(mh, NULL); fail_unless( i == LIBSBML_OPERATION_SUCCESS ); fail_unless(ModelHistory_isSetCreatedDate(mh) == 0); Date_free(date); ModelHistory_free(mh); }
END_TEST START_TEST (test_ModelHistory_accessWithNULL) { fail_unless ( ModelHistory_addCreator(NULL, NULL) == LIBSBML_INVALID_OBJECT ); fail_unless ( ModelHistory_addModifiedDate(NULL, NULL) == LIBSBML_INVALID_OBJECT ); fail_unless ( ModelHistory_clone(NULL) == NULL ); // ensure that we don't crash ModelHistory_free(NULL) ; fail_unless ( ModelHistory_getCreatedDate(NULL) == NULL ); fail_unless ( ModelHistory_getCreator(NULL, 0) == NULL ); fail_unless ( ModelHistory_getListCreators(NULL) == NULL ); fail_unless ( ModelHistory_getListModifiedDates(NULL) == NULL ); fail_unless ( ModelHistory_getModifiedDate(NULL) == NULL ); fail_unless ( ModelHistory_getModifiedDateFromList(NULL, 0) == NULL ); fail_unless ( ModelHistory_getNumCreators(NULL) == SBML_INT_MAX ); fail_unless ( ModelHistory_getNumModifiedDates(NULL) == SBML_INT_MAX ); fail_unless ( ModelHistory_hasRequiredAttributes(NULL) == 0 ); fail_unless ( ModelHistory_isSetCreatedDate(NULL) == 0 ); fail_unless ( ModelHistory_isSetModifiedDate(NULL) == 0 ); fail_unless ( ModelHistory_setCreatedDate(NULL, NULL) == LIBSBML_INVALID_OBJECT ); fail_unless ( ModelHistory_setModifiedDate(NULL, NULL) == LIBSBML_INVALID_OBJECT ); }
END_TEST START_TEST (test_ModelHistory_setCreatedDate) { ModelHistory_t * history = ModelHistory_create(); fail_unless(history != NULL); fail_unless(ModelHistory_isSetCreatedDate(history) == 0); Date_t * date = Date_createFromValues(2005, 12, 30, 12, 15, 45, 1, 2, 0); ModelHistory_setCreatedDate(history, date); fail_unless(ModelHistory_isSetCreatedDate(history) == 1); Date_free(date); Date_t * newdate = ModelHistory_getCreatedDate(history); fail_unless(Date_getYear(newdate) == 2005); fail_unless(Date_getMonth(newdate) == 12); fail_unless(Date_getDay(newdate) == 30); fail_unless(Date_getHour(newdate) == 12); fail_unless(Date_getMinute(newdate) == 15); fail_unless(Date_getSecond(newdate) == 45); fail_unless(Date_getSignOffset(newdate) == 1); fail_unless(Date_getHoursOffset(newdate) == 2); fail_unless(Date_getMinutesOffset(newdate) == 0); ModelHistory_free(history); }
END_TEST START_TEST (test_ModelHistory_setCreatedDate2) { ModelHistory_t * mh = ModelHistory_create(); fail_unless(mh != NULL); Date_t *date = Date_createFromString("Jan 12"); int i = ModelHistory_setCreatedDate(mh, date); fail_unless( i == LIBSBML_INVALID_OBJECT ); fail_unless(ModelHistory_isSetCreatedDate(mh) == 0); Date_free(date); ModelHistory_free(mh); }
END_TEST START_TEST (test_L3_Species_ModelHistory) { ModelHistory_t * history = ModelHistory_create(); SBase_setMetaId((SBase_t *)(S), "_3"); int i = SBase_setModelHistory((SBase_t *)(S), history); fail_unless( i == LIBSBML_INVALID_OBJECT ); fail_unless( !SBase_isSetModelHistory((SBase_t *)(S)) ); ModelCreator_t * mc = ModelCreator_create(); Date_t * date = Date_createFromValues(2005, 12, 30, 12, 15, 45, 1, 2, 0); ModelCreator_setFamilyName(mc, "Keating"); ModelCreator_setGivenName(mc, "Sarah"); ModelCreator_setEmail(mc, "*****@*****.**"); ModelCreator_setOrganisation(mc, "UH"); ModelHistory_addCreator(history, mc); ModelHistory_setCreatedDate(history, date); ModelHistory_setModifiedDate(history, date); i = SBase_setModelHistory((SBase_t *)(S), history); fail_unless( i == LIBSBML_OPERATION_SUCCESS ); fail_unless( SBase_isSetModelHistory((SBase_t *)(S)) ); i = SBase_unsetModelHistory((SBase_t *)(S)); fail_unless( i == LIBSBML_OPERATION_SUCCESS ); fail_unless( !SBase_isSetModelHistory((SBase_t *)(S)) ); fail_unless( SBase_getModelHistory((SBase_t *)(S)) == NULL ); ModelHistory_free(history); ModelCreator_free(mc); Date_free(date); }
int main (int argc, char *argv[]) { SBMLDocument_t* d; Model_t* m; unsigned int errors; if (argc != 3) { printf("\n" " usage: addModelHistory <input-filename> <output-filename>\n" "\n"); return 2; } d = readSBML(argv[1]); errors = SBMLDocument_getNumErrors(d); if (errors > 0) { printf("Read Error(s):\n"); SBMLDocument_printErrors(d, stdout); printf("Correct the above and re-run.\n"); } else { int status; Date_t* date, *date2; ModelHistory_t* h = ModelHistory_create(); ModelCreator_t* c = ModelCreator_create(); ModelCreator_setFamilyName(c, "Keating"); ModelCreator_setGivenName(c, "Sarah"); ModelCreator_setEmail(c, "*****@*****.**"); ModelCreator_setOrganisation(c, "University of Hertfordshire"); status = ModelHistory_addCreator(h, c); printStatus("Status for addCreator: ", status); date = Date_createFromString("1999-11-13T06:54:32"); date2 = Date_createFromString("2007-11-30T06:54:00-02:00"); status = ModelHistory_setCreatedDate(h, date); printStatus("Set created date: ", status); status = ModelHistory_setModifiedDate(h, date2); printStatus("Set modified date: ", status); m = SBMLDocument_getModel(d); status = Model_setModelHistory(m, h); printStatus("Set model history: ", status); writeSBML(d, argv[2]); } SBMLDocument_free(d); return errors; }