/*package*/ boolean createLinkStatsInIteration(final int iteration) { return ((iteration % this.linkStatsConfigGroup.getWriteLinkStatsInterval() == 0) && (this.iterationsUsed >= this.linkStatsConfigGroup.getAverageLinkStatsOverIterations())); }
/*package*/ boolean useVolumesOfIteration(final int iteration, final int firstIteration) { if (this.linkStatsConfigGroup.getWriteLinkStatsInterval() < 1) { return false; } int iterationMod = iteration % this.linkStatsConfigGroup.getWriteLinkStatsInterval(); int effectiveIteration = iteration - firstIteration; int averaging = Math.min(this.linkStatsConfigGroup.getAverageLinkStatsOverIterations(), this.linkStatsConfigGroup.getWriteLinkStatsInterval()); if (iterationMod == 0) { return ((this.linkStatsConfigGroup.getAverageLinkStatsOverIterations() <= 1) || (effectiveIteration >= averaging)); } return (iterationMod > (this.linkStatsConfigGroup.getWriteLinkStatsInterval() - this.linkStatsConfigGroup.getAverageLinkStatsOverIterations()) && (effectiveIteration + (this.linkStatsConfigGroup.getWriteLinkStatsInterval() - iterationMod) >= averaging)); }
@Test public void testWriteAverageOverIterations() { LinkStatsConfigGroup cg = new LinkStatsConfigGroup(); // test initial value Assert.assertEquals(5, cg.getAverageLinkStatsOverIterations()); Assert.assertEquals("5", cg.getValue("averageLinkStatsOverIterations")); // test setting with setMobsim cg.setAverageLinkStatsOverIterations(4); Assert.assertEquals(4, cg.getAverageLinkStatsOverIterations()); Assert.assertEquals("4", cg.getValue("averageLinkStatsOverIterations")); // test setting with addParam cg.addParam("averageLinkStatsOverIterations", "2"); Assert.assertEquals(2, cg.getAverageLinkStatsOverIterations()); Assert.assertEquals("2", cg.getValue("averageLinkStatsOverIterations")); }
Assert.assertEquals(5, config.linkStats().getAverageLinkStatsOverIterations());