void EventSystem_loop(void) { const int FPS = 30; const double millisPerFrame = 1000 / FPS; EventSystem_emit(Event_new(NULL, StartEventTypeId, NULL)); double elapsedMillis = 0; Clock lastTicks = Clock_now(); bool isRunning = true; while (isRunning) { Clock current = Clock_now(); elapsedMillis = Clock_diffMillis(current, lastTicks); ESObject * o = ESObject_new(&elapsedMillis, NULL); EventSystem_emit(Event_new(NULL, UpdateEventTypeId, o)); Event * event = NULL; while((event = EventSystem_dequeueNextEvent()) != NULL) { if (EventSystem_handleEvent(event) == EventSystemActionExit) { isRunning = false; EventSystem_emit(Event_new(NULL, ExitEventTypeId, NULL)); } else { foreach(EventHandler *, handler, g_eventSystem->handlers) { EventHandler_handleEvent(handler, event); } } Event_free(event); } double millis = Clock_diffMillis(Clock_now(), current); if (millis < millisPerFrame) sleepMillis(millisPerFrame - millis); lastTicks = current; } }
END_TEST START_TEST (test_L3_Event_free_NULL) { Event_free(NULL); }
END_TEST START_TEST (test_Event_addEventAssignment4) { Event_t *e = Event_create(2, 2); EventAssignment_t *ea = EventAssignment_create(2, 2); EventAssignment_setVariable(ea, "c"); EventAssignment_setMath(ea, SBML_parseFormula("a-n")); EventAssignment_t *ea1 = EventAssignment_create(2, 2); EventAssignment_setVariable(ea1, "c"); EventAssignment_setMath(ea1, SBML_parseFormula("a-n")); 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); }
void EventSystem_cleanup(void) { Event * event = NULL; while ((event = EventSystem_dequeueNextEvent()) != NULL) { Event_free(event); } PbQueue_free(&g_eventSystem->events); for (int i = 0; i < PbList_count(g_eventSystem->handlers); i++) { EventHandler * handler = PbList_at(g_eventSystem->handlers, i); EventHandler_free(handler); } PbList_free(g_eventSystem->handlers); }
END_TEST START_TEST (test_Event_setUseValuesFromTriggerTime2) { Event_t *e = Event_create(2, 2); int i = Event_setUseValuesFromTriggerTime(e, 0); fail_unless( i == LIBSBML_UNEXPECTED_ATTRIBUTE); Event_free(e); }
END_TEST START_TEST (test_Event_setTimeUnits4) { Event_t *e = Event_create(2, 1); int i = Event_setTimeUnits(e, NULL); fail_unless( i == LIBSBML_OPERATION_SUCCESS); fail_unless( !Event_isSetTimeUnits(e) ); Event_free(e); }
END_TEST START_TEST (test_Event_addEventAssignment3) { Event_t *e = Event_create(2, 2); int i = Event_addEventAssignment(e, NULL); fail_unless( i == LIBSBML_OPERATION_FAILED); fail_unless( Event_getNumEventAssignments(e) == 0); Event_free(e); }
END_TEST START_TEST (test_Event_createEventAssignment) { Event_t *e = Event_create(2, 2); EventAssignment_t *ea = Event_createEventAssignment(e); fail_unless( Event_getNumEventAssignments(e) == 1); fail_unless( SBase_getLevel((SBase_t *) (ea)) == 2 ); fail_unless( SBase_getVersion((SBase_t *) (ea)) == 2 ); Event_free(e); }
END_TEST START_TEST (test_L3_Event_hasRequiredAttributes ) { Event_t *e = Event_create (3, 1); fail_unless ( !Event_hasRequiredAttributes(e)); Event_setUseValuesFromTriggerTime(e, 1); fail_unless ( Event_hasRequiredAttributes(e)); Event_free(e); }
END_TEST START_TEST (test_L3_Event_hasRequiredElements ) { Event_t *e = Event_create (3, 1); fail_unless ( !Event_hasRequiredElements(e)); Trigger_t *t = Trigger_create(3, 1); Event_setTrigger(e, t); fail_unless ( Event_hasRequiredElements(e)); Event_free(e); }
END_TEST START_TEST (test_Event_setUseValuesFromTriggerTime1) { Event_t *e = Event_create(2, 4); int i = Event_setUseValuesFromTriggerTime(e, 0); fail_unless( i == LIBSBML_OPERATION_SUCCESS); fail_unless( Event_getUseValuesFromTriggerTime(e) == 0 ); i = Event_setUseValuesFromTriggerTime(e, 1); fail_unless( i == LIBSBML_OPERATION_SUCCESS); fail_unless( Event_getUseValuesFromTriggerTime(e) == 1 ); Event_free(e); }
END_TEST START_TEST (test_Event_addEventAssignment2) { Event_t *e = Event_create(2, 2); EventAssignment_t *ea = EventAssignment_create(2, 3); EventAssignment_setVariable(ea, "f"); EventAssignment_setMath(ea, SBML_parseFormula("a-n")); int i = Event_addEventAssignment(e, ea); fail_unless( i == LIBSBML_VERSION_MISMATCH); fail_unless( Event_getNumEventAssignments(e) == 0); EventAssignment_free(ea); Event_free(e); }
END_TEST START_TEST (test_Event_setTimeUnits3) { const char *units = "1second"; Event_t *e = Event_create(2, 1); int i = Event_setTimeUnits(e, units); fail_unless( i == LIBSBML_INVALID_ATTRIBUTE_VALUE); fail_unless( !Event_isSetTimeUnits(e) ); i = Event_unsetTimeUnits(e); fail_unless( i == LIBSBML_OPERATION_SUCCESS ); fail_unless( !Event_isSetTimeUnits(e) ); Event_free(e); }
END_TEST START_TEST (test_Event_setTimeUnits2) { const char *units = "second"; Event_t *e = Event_create(2, 1); int i = Event_setTimeUnits(e, units); fail_unless( i == LIBSBML_OPERATION_SUCCESS); fail_unless( !strcmp(Event_getTimeUnits(e), units) ); fail_unless( Event_isSetTimeUnits(e) ); i = Event_unsetTimeUnits(e); fail_unless( i == LIBSBML_OPERATION_SUCCESS ); fail_unless( !Event_isSetTimeUnits(e) ); Event_free(e); }
END_TEST START_TEST (test_L3_Event_hasRequiredElements ) { Event_t *e = Event_create (3, 1); fail_unless ( !Event_hasRequiredElements(e)); Trigger_t *t = Trigger_create(3, 1); ASTNode_t* math = SBML_parseFormula("true"); Trigger_setMath(t, math); ASTNode_free(math); Trigger_setInitialValue(t, 1); Trigger_setPersistent(t, 1); Event_setTrigger(e, t); fail_unless ( Event_hasRequiredElements(e)); Event_free(e); Trigger_free(t); }
END_TEST START_TEST (test_L3_Event_createWithNS ) { XMLNamespaces_t *xmlns = XMLNamespaces_create(); XMLNamespaces_add(xmlns, "http://www.sbml.org", "testsbml"); SBMLNamespaces_t *sbmlns = SBMLNamespaces_create(3,1); SBMLNamespaces_addNamespaces(sbmlns,xmlns); Event_t *e = Event_createWithNS (sbmlns); fail_unless( SBase_getTypeCode ((SBase_t *) e) == SBML_EVENT ); fail_unless( SBase_getMetaId ((SBase_t *) e) == NULL ); fail_unless( SBase_getNotes ((SBase_t *) e) == NULL ); fail_unless( SBase_getAnnotation((SBase_t *) e) == NULL ); fail_unless( SBase_getLevel ((SBase_t *) e) == 3 ); fail_unless( SBase_getVersion ((SBase_t *) e) == 1 ); fail_unless( Event_getNamespaces (e) != NULL ); fail_unless( XMLNamespaces_getLength(Event_getNamespaces(e)) == 2 ); fail_unless( Event_getId (e) == NULL ); fail_unless( Event_getName (e) == NULL ); fail_unless( Event_getUseValuesFromTriggerTime(e) == 1 ); fail_unless( !Event_isSetId (e) ); fail_unless( !Event_isSetName (e) ); fail_unless( !Event_isSetUseValuesFromTriggerTime(e) ); Event_free(e); XMLNamespaces_free(xmlns); SBMLNamespaces_free(sbmlns); }
void EventTest1_teardown (void) { Event_free(E); }
void L3EventTest_teardown (void) { Event_free(E); }