@Test public void testPlansDump_Never() { Config config = this.util.loadConfig("test/scenarios/equil/config_plans1.xml"); config.controler().setLastIteration(10); config.controler().setWritePlansInterval(0); Controler c = new Controler(config); c.getConfig().controler().setWriteEventsInterval(0); c.getConfig().controler().setCreateGraphs(false); c.run(); assertFalse(new File(c.getControlerIO().getIterationFilename(0, "plans.xml.gz")).exists()); assertFalse(new File(c.getControlerIO().getIterationFilename(1, "plans.xml.gz")).exists()); // it.1 is deactivated when interval = 0 assertFalse(new File(c.getControlerIO().getIterationFilename(2, "plans.xml.gz")).exists()); assertFalse(new File(c.getControlerIO().getIterationFilename(3, "plans.xml.gz")).exists()); assertFalse(new File(c.getControlerIO().getIterationFilename(4, "plans.xml.gz")).exists()); assertFalse(new File(c.getControlerIO().getIterationFilename(5, "plans.xml.gz")).exists()); assertFalse(new File(c.getControlerIO().getIterationFilename(6, "plans.xml.gz")).exists()); assertFalse(new File(c.getControlerIO().getIterationFilename(7, "plans.xml.gz")).exists()); assertFalse(new File(c.getControlerIO().getIterationFilename(8, "plans.xml.gz")).exists()); assertFalse(new File(c.getControlerIO().getIterationFilename(9, "plans.xml.gz")).exists()); assertFalse(new File(c.getControlerIO().getIterationFilename(10, "plans.xml.gz")).exists()); }
@Test public void testPlansDump_Always() { Config config = this.util.loadConfig("test/scenarios/equil/config_plans1.xml"); config.controler().setLastIteration(10); config.controler().setWritePlansInterval(1); Controler c = new Controler(config); c.getConfig().controler().setWriteEventsInterval(0); c.getConfig().controler().setCreateGraphs(false); c.run(); assertTrue(new File(c.getControlerIO().getIterationFilename(0, "plans.xml.gz")).exists()); assertTrue(new File(c.getControlerIO().getIterationFilename(1, "plans.xml.gz")).exists()); // it.1 is always written assertTrue(new File(c.getControlerIO().getIterationFilename(2, "plans.xml.gz")).exists()); assertTrue(new File(c.getControlerIO().getIterationFilename(3, "plans.xml.gz")).exists()); assertTrue(new File(c.getControlerIO().getIterationFilename(4, "plans.xml.gz")).exists()); assertTrue(new File(c.getControlerIO().getIterationFilename(5, "plans.xml.gz")).exists()); assertTrue(new File(c.getControlerIO().getIterationFilename(6, "plans.xml.gz")).exists()); assertTrue(new File(c.getControlerIO().getIterationFilename(7, "plans.xml.gz")).exists()); assertTrue(new File(c.getControlerIO().getIterationFilename(8, "plans.xml.gz")).exists()); assertTrue(new File(c.getControlerIO().getIterationFilename(9, "plans.xml.gz")).exists()); assertTrue(new File(c.getControlerIO().getIterationFilename(10, "plans.xml.gz")).exists()); } }
@Test public void testPlansDump_Interval() { Config config = this.util.loadConfig("test/scenarios/equil/config_plans1.xml"); config.controler().setLastIteration(10); config.controler().setWritePlansInterval(3); Controler c = new Controler(config); c.getConfig().controler().setWriteEventsInterval(0); c.getConfig().controler().setCreateGraphs(false); c.run(); assertTrue(new File(c.getControlerIO().getIterationFilename(0, "plans.xml.gz")).exists()); assertTrue(new File(c.getControlerIO().getIterationFilename(1, "plans.xml.gz")).exists()); // it.1 is always written assertFalse(new File(c.getControlerIO().getIterationFilename(2, "plans.xml.gz")).exists()); assertTrue(new File(c.getControlerIO().getIterationFilename(3, "plans.xml.gz")).exists()); assertFalse(new File(c.getControlerIO().getIterationFilename(4, "plans.xml.gz")).exists()); assertFalse(new File(c.getControlerIO().getIterationFilename(5, "plans.xml.gz")).exists()); assertTrue(new File(c.getControlerIO().getIterationFilename(6, "plans.xml.gz")).exists()); assertFalse(new File(c.getControlerIO().getIterationFilename(7, "plans.xml.gz")).exists()); assertFalse(new File(c.getControlerIO().getIterationFilename(8, "plans.xml.gz")).exists()); assertTrue(new File(c.getControlerIO().getIterationFilename(9, "plans.xml.gz")).exists()); assertFalse(new File(c.getControlerIO().getIterationFilename(10, "plans.xml.gz")).exists()); }
assertEquals(4, controler.getConfig().controler().getWriteEventsInterval()); assertTrue(new File(controler.getControlerIO().getIterationFilename(0, Controler.FILENAME_EVENTS_XML)).exists()); assertFalse(new File(controler.getControlerIO().getIterationFilename(1, Controler.FILENAME_EVENTS_XML)).exists()); assertFalse(new File(controler.getControlerIO().getIterationFilename(2, Controler.FILENAME_EVENTS_XML)).exists()); assertFalse(new File(controler.getControlerIO().getIterationFilename(3, Controler.FILENAME_EVENTS_XML)).exists()); assertTrue(new File(controler.getControlerIO().getIterationFilename(4, Controler.FILENAME_EVENTS_XML)).exists()); assertFalse(new File(controler.getControlerIO().getIterationFilename(5, Controler.FILENAME_EVENTS_XML)).exists()); assertFalse(new File(controler.getControlerIO().getIterationFilename(6, Controler.FILENAME_EVENTS_XML)).exists()); assertFalse(new File(controler.getControlerIO().getIterationFilename(7, Controler.FILENAME_EVENTS_XML)).exists()); assertTrue(new File(controler.getControlerIO().getIterationFilename(8, Controler.FILENAME_EVENTS_XML)).exists()); assertFalse(new File(controler.getControlerIO().getIterationFilename(9, Controler.FILENAME_EVENTS_XML)).exists()); assertTrue(new File(controler.getControlerIO().getIterationFilename(controler.getConfig().controler().getLastIteration(), Controler.FILENAME_EVENTS_XML)).exists());
controler.run(); assertTrue(new File(controler.getControlerIO().getIterationFilename(0, Controler.FILENAME_EVENTS_XML)).exists()); assertFalse(new File(controler.getControlerIO().getIterationFilename(1, Controler.FILENAME_EVENTS_XML)).exists()); assertFalse(new File(controler.getControlerIO().getIterationFilename(2, Controler.FILENAME_EVENTS_XML)).exists()); assertTrue(new File(controler.getControlerIO().getIterationFilename(3, Controler.FILENAME_EVENTS_XML)).exists()); assertFalse(new File(controler.getControlerIO().getIterationFilename(4, Controler.FILENAME_EVENTS_XML)).exists()); assertFalse(new File(controler.getControlerIO().getIterationFilename(5, Controler.FILENAME_EVENTS_XML)).exists()); assertTrue(new File(controler.getControlerIO().getIterationFilename(6, Controler.FILENAME_EVENTS_XML)).exists()); assertFalse(new File(controler.getControlerIO().getIterationFilename(7, Controler.FILENAME_EVENTS_XML)).exists()); assertFalse(new File(controler.getControlerIO().getIterationFilename(8, Controler.FILENAME_EVENTS_XML)).exists()); assertTrue(new File(controler.getControlerIO().getIterationFilename(9, Controler.FILENAME_EVENTS_XML)).exists()); assertTrue(new File(controler.getControlerIO().getIterationFilename(controler.getConfig().controler().getLastIteration(), Controler.FILENAME_EVENTS_XML)).exists());
@Test public void testTransimsSnapshotWriterOnQSim() { final Config config = utils.loadConfig(IOUtils.newUrl(ExamplesUtils.getTestScenarioURL("equil"), "config_plans1.xml")); config.controler().setLastIteration(2); config.controler().setWriteEventsInterval(0); config.controler().setWritePlansInterval(0); config.controler().setMobsim("qsim"); config.controler().setSnapshotFormat(Arrays.asList("transims")); config.qsim().setSnapshotPeriod(600); config.qsim().setSnapshotStyle( SnapshotStyle.equiDist ) ;; final Controler controler = new Controler(config); controler.getConfig().controler().setCreateGraphs(false); controler.getConfig().controler().setDumpDataAtEnd(false); controler.run(); assertTrue(new File(controler.getControlerIO().getIterationFilename(0, "T.veh.gz")).exists()); assertTrue(new File(controler.getControlerIO().getIterationFilename(1, "T.veh.gz")).exists()); assertTrue(new File(controler.getControlerIO().getIterationFilename(2, "T.veh.gz")).exists()); }
@Test public void testKMLSnapshotWriterOnQSim() { final Config config = utils.loadConfig(IOUtils.newUrl(ExamplesUtils.getTestScenarioURL("equil"), "config_plans1.xml")); config.controler().setLastIteration(2); config.controler().setWriteEventsInterval(0); config.controler().setWritePlansInterval(0); config.controler().setMobsim("qsim"); config.controler().setSnapshotFormat(Arrays.asList("googleearth")); config.qsim().setSnapshotPeriod(600); config.qsim().setSnapshotStyle( SnapshotStyle.equiDist ) ; final Controler controler = new Controler(config); controler.getConfig().controler().setCreateGraphs(false); controler.getConfig().controler().setDumpDataAtEnd(false); controler.run(); assertTrue(new File(controler.getControlerIO().getIterationFilename(0, "googleearth.kmz")).exists()); assertTrue(new File(controler.getControlerIO().getIterationFilename(1, "googleearth.kmz")).exists()); assertTrue(new File(controler.getControlerIO().getIterationFilename(2, "googleearth.kmz")).exists()); }
/** * @author mrieser */ @Test public void testSetWriteEventsAlways() { final Config config = utils.loadConfig(IOUtils.newUrl(ExamplesUtils.getTestScenarioURL("equil"), "config_plans1.xml")); config.controler().setLastIteration(1); config.controler().setWritePlansInterval(0); final Controler controler = new Controler(config); controler.getConfig().controler().setWriteEventsInterval(1); assertEquals(1, controler.getConfig().controler().getWriteEventsInterval()); controler.getConfig().controler().setCreateGraphs(false); controler.addOverridingModule(new AbstractModule() { @Override public void install() { bindMobsim().toProvider(new Provider<Mobsim>() { @Override public Mobsim get() { return new FakeMobsim(); } }); } }); controler.getConfig().controler().setDumpDataAtEnd(false); controler.run(); assertTrue(new File(controler.getControlerIO().getIterationFilename(0, Controler.FILENAME_EVENTS_XML)).exists()); assertTrue(new File(controler.getControlerIO().getIterationFilename(1, Controler.FILENAME_EVENTS_XML)).exists()); }
/** * @author mrieser */ @Test public void testSetWriteEventsNever() { final Config config = utils.loadConfig(IOUtils.newUrl(ExamplesUtils.getTestScenarioURL("equil"), "config_plans1.xml")); config.controler().setLastIteration(1); config.controler().setWritePlansInterval(0); final Controler controler = new Controler(config); assertFalse("Default for Controler.writeEventsInterval should be different from the interval we plan to use, otherwise it's hard to decide if it works correctly.", 0 == controler.getConfig().controler().getWriteEventsInterval()); controler.getConfig().controler().setWriteEventsInterval(0); assertEquals(0, controler.getConfig().controler().getWriteEventsInterval()); controler.getConfig().controler().setCreateGraphs(false); controler.addOverridingModule(new AbstractModule() { @Override public void install() { bindMobsim().toProvider(new Provider<Mobsim>() { @Override public Mobsim get() { return new FakeMobsim(); } }); } }); controler.getConfig().controler().setDumpDataAtEnd(false); controler.run(); assertFalse(new File(controler.getControlerIO().getIterationFilename(0, Controler.FILENAME_EVENTS_XML)).exists()); assertFalse(new File(controler.getControlerIO().getIterationFilename(1, Controler.FILENAME_EVENTS_XML)).exists()); }
@Test public void testOneSnapshotWriterInConfig() { final Config config = utils.loadConfig(IOUtils.newUrl(ExamplesUtils.getTestScenarioURL("equil"), "config_plans1.xml")); config.controler().setLastIteration(0); config.controler().setWriteEventsInterval(0); config.controler().setWritePlansInterval(0); config.qsim().setSnapshotPeriod(10); config.qsim().setSnapshotStyle(SnapshotStyle.equiDist) ;; final Controler controler = new Controler(config); controler.getConfig().controler().setCreateGraphs(false); controler.getConfig().controler().setDumpDataAtEnd(false); controler.run(); assertTrue(new File(controler.getControlerIO().getIterationFilename(0, "T.veh.gz")).exists()); }
/** * @author mrieser */ @Test public void testSetDumpDataAtEnd_false() { final Config config = utils.loadConfig(IOUtils.newUrl(ExamplesUtils.getTestScenarioURL("equil"), "config_plans1.xml")); config.controler().setLastIteration(0); config.controler().setWritePlansInterval(0); final Controler controler = new Controler(config); controler.getConfig().controler().setWriteEventsInterval(0); controler.getConfig().controler().setCreateGraphs(false); controler.addOverridingModule(new AbstractModule() { @Override public void install() { bindMobsim().toProvider(new Provider<Mobsim>() { @Override public Mobsim get() { return new FakeMobsim(); } }); } }); controler.getConfig().controler().setDumpDataAtEnd(false); controler.run(); assertFalse(new File(controler.getControlerIO().getOutputFilename(Controler.OUTPUT_PREFIX + Controler.FILENAME_POPULATION)).exists()); }
/** * @author mrieser */ @Test public void testSetDumpDataAtEnd_true() { final Config config = utils.loadConfig(IOUtils.newUrl(ExamplesUtils.getTestScenarioURL("equil"), "config_plans1.xml")); config.controler().setLastIteration(0); config.controler().setWritePlansInterval(0); final Controler controler = new Controler(config); controler.getConfig().controler().setWriteEventsInterval(0); controler.getConfig().controler().setCreateGraphs(false); controler.addOverridingModule(new AbstractModule() { @Override public void install() { bindMobsim().toProvider(new Provider<Mobsim>() { @Override public Mobsim get() { return new FakeMobsim(); } }); } }); controler.getConfig().controler().setDumpDataAtEnd(true); controler.run(); assertTrue(new File(controler.getControlerIO().getOutputFilename(Controler.OUTPUT_PREFIX + Controler.FILENAME_POPULATION)).exists()); }
/** * @author mrieser */ @Test public void testSetWriteEventsXml() { final Config config = utils.loadConfig(IOUtils.newUrl(ExamplesUtils.getTestScenarioURL("equil"), "config_plans1.xml")); config.controler().setLastIteration(0); config.controler().setWritePlansInterval(0); config.controler().setEventsFileFormats(EnumSet.of(EventsFileFormat.xml)); final Controler controler = new Controler(config); controler.getConfig().controler().setWriteEventsInterval(1); assertEquals(1, controler.getConfig().controler().getWriteEventsInterval()); controler.getConfig().controler().setCreateGraphs(false); controler.addOverridingModule(new AbstractModule() { @Override public void install() { bindMobsim().toProvider(new Provider<Mobsim>() { @Override public Mobsim get() { return new FakeMobsim(); } }); } }); controler.getConfig().controler().setDumpDataAtEnd(false); controler.run(); assertTrue(new File(controler.getControlerIO().getIterationFilename(0, Controler.FILENAME_EVENTS_XML)).exists()); }