void testThread(int n, ServiceLocator* aDifferentThreadsLocator) { ServiceLocator* loc = ServiceLocator::getDefaultLocator(); ServiceLocator* loc2 = ServiceLocator::getDefaultLocator(); Timer* timer1 = loc->locateTimerService(); Timer* timer2 = loc2->locateTimerService(); MessageService* mes1 = loc->locateMessageService(); MessageService* mes2 = loc2->locateMessageService(); assert(mes1 == mes2); mes1->publish("someMessage", StringMap()); MessageService* mes3 = aDifferentThreadsLocator->locateMessageService(); mes3->publish("aMessage", StringMap()); EventQueue* eq = loc->locateEventService(); eq->pushTimerEvent(loc->locateTimerService()->getTimeStamp()); assert(loc == loc2); assert(loc != aDifferentThreadsLocator); assert(loc != NULL); assert(aDifferentThreadsLocator != NULL); assert(timer1 == timer2); assert(mes1 != NULL); assert(mes3 != NULL); assert(mes1 != mes3); }