@Override public MobsimListener get() { if (iterationContext.getIteration() % controlerConfigGroup.getWriteSnapshotsInterval() == 0) { SnapshotWriterManager manager = new SnapshotWriterManager(config); for (com.google.inject.Provider<SnapshotWriter> snapshotWriter : this.snapshotWriters) { manager.addSnapshotWriter(snapshotWriter.get()); } return manager; } else { return new NoopMobsimListener(); } }
@Override public void install() { if (getConfig().controler().getSnapshotFormat().contains("googleearth")) { addSnapshotWriterBinding().toProvider(KMLSnapshotWriterFactory.class); } if (getConfig().controler().getSnapshotFormat().contains("transims")) { addSnapshotWriterBinding().toProvider(TransimsSnapshotWriterFactory.class); } if (getConfig().controler().getWriteSnapshotsInterval() != 0) { addMobsimListenerBinding().toProvider(SnapshotWriterManagerProvider.class); } }
/** * Ensure that the writeSnapshotsInterval value is correctly stored and * returned with the getters and setters. */ @Test public void testWriteSnapshotInterval(){ ControlerConfigGroup cg = new ControlerConfigGroup(); //initial value Assert.assertEquals(1, cg.getWriteSnapshotsInterval()); //modify by string cg.addParam("writeSnapshotsInterval", "10"); Assert.assertEquals(10, cg.getWriteSnapshotsInterval()); //modify by boolean cg.setWriteSnapshotsInterval(42); Assert.assertEquals("42", cg.getValue("writeSnapshotsInterval")); Assert.assertEquals(42, cg.getWriteSnapshotsInterval()); }