예제 #1
0
void TrafficGenerationModel::onSimulationStart(Simulator* sim){
	if(routes==0) return;
	int32 nr = routes->getNumberOfRoutes();
	for(int i=0;i<nr;i++){
		Route* rt = routes->getRoute(i);
		vns::Path* path = rt->getPath();
		if(path->getNumberOfNodes()>0){
			//vns::Road* road = path->getFirstNode()->getRoad();
			double T = genFunction->calcT(rt->getStartTime(),rt->getInterval());
			//road->getEventScheduler()->schedule(T,&TrafficGenerationModel::addRoute,this,sim,rt);
			scheduler->schedule(T,&TrafficGenerationModel::addRoute,this,sim,rt);
		}
	}
	nr = routes->getNumberOfScheduledRoutes();
	for(int i=0;i<nr;i++){
		vns::ScheduledRoute* rt = routes->getScheduledRoute(i);
		vns::Path* path = rt->getPath();
		if(path->getNumberOfNodes()>0){
			//vns::Road* road = path->getFirstNode()->getRoad();
			//road->getEventScheduler()->schedule(rt->getScheduledTime(),&TrafficGenerationModel::addScheduledRoute,this,sim,rt);
			scheduler->schedule(rt->getScheduledTime(),&TrafficGenerationModel::addScheduledRoute,this,sim,rt);
		}
	}
}
TEST(RouteTest, Initialization) {
	const Route r("/user/:id/");
	EXPECT_EQ(r.getPath(), string("/user/:id/"));
}