@Test public void testGetWithDefault() { MinimalTransferTimes mtt = new MinimalTransferTimesImpl(); double defaultSeconds = 60.0; Assert.assertEquals(Double.NaN, mtt.get(this.stopId1, this.stopId2), 0.0); Assert.assertEquals(60.0, mtt.get(this.stopId1, this.stopId2, defaultSeconds), 0.0); mtt.set(this.stopId1, this.stopId2, 180.0); mtt.set(this.stopId1, this.stopId3, 240.0); Assert.assertEquals(180.0, mtt.get(this.stopId1, this.stopId2, defaultSeconds), 0.0); Assert.assertEquals(240.0, mtt.get(this.stopId1, this.stopId3, defaultSeconds), 0.0); Assert.assertEquals(defaultSeconds, mtt.get(this.stopId1, this.stopId4, defaultSeconds), 0.0); }
@Test public void testNotTransitive() { MinimalTransferTimes mtt = new MinimalTransferTimesImpl(); mtt.set(this.stopId1, this.stopId2, 180.0); mtt.set(this.stopId2, this.stopId3, 240.0); Assert.assertEquals(180.0, mtt.get(this.stopId1, this.stopId2), 0.0); Assert.assertEquals(240.0, mtt.get(this.stopId2, this.stopId3), 0.0); Assert.assertEquals(Double.NaN, mtt.get(this.stopId1, this.stopId3), 0.0); Assert.assertEquals(Double.NaN, mtt.get(this.stopId3, this.stopId1), 0.0); mtt.set(this.stopId1, this.stopId3, 480.0); Assert.assertEquals(480.0, mtt.get(this.stopId1, this.stopId3), 0.0); }
@Test public void testNotBidirection() { MinimalTransferTimes mtt = new MinimalTransferTimesImpl(); mtt.set(this.stopId1, this.stopId2, 180.0); mtt.set(this.stopId1, this.stopId3, 240.0); Assert.assertEquals(180.0, mtt.get(this.stopId1, this.stopId2), 0.0); Assert.assertEquals(Double.NaN, mtt.get(this.stopId2, this.stopId1), 0.0); Assert.assertEquals(240.0, mtt.get(this.stopId1, this.stopId3), 0.0); Assert.assertEquals(Double.NaN, mtt.get(this.stopId3, this.stopId1), 0.0); mtt.set(this.stopId3, this.stopId1, 120.0); Assert.assertEquals(120.0, mtt.get(this.stopId3, this.stopId1), 0.0); Assert.assertEquals(240.0, mtt.get(this.stopId1, this.stopId3), 0.0); }
@Test public void testSetGet() { MinimalTransferTimes mtt = new MinimalTransferTimesImpl(); Assert.assertEquals(Double.NaN, mtt.get(this.stopId1, this.stopId2), 0.0); mtt.set(this.stopId1, this.stopId2, 180.0); mtt.set(this.stopId1, this.stopId3, 240.0); Assert.assertEquals(180.0, mtt.get(this.stopId1, this.stopId2), 0.0); Assert.assertEquals(240.0, mtt.get(this.stopId1, this.stopId3), 0.0); // overwrite a value mtt.set(this.stopId1, this.stopId2, 300.0); Assert.assertEquals(300.0, mtt.get(this.stopId1, this.stopId2), 0.0); Assert.assertEquals(Double.NaN, mtt.get(this.stopId1, this.stopId4), 0.0); }
@Test public void testRemove() { MinimalTransferTimes mtt = new MinimalTransferTimesImpl(); Assert.assertEquals(Double.NaN, mtt.get(this.stopId1, this.stopId2), 0.0); mtt.set(this.stopId1, this.stopId2, 180.0); mtt.set(this.stopId1, this.stopId3, 240.0); Assert.assertEquals(180.0, mtt.get(this.stopId1, this.stopId2), 0.0); Assert.assertEquals(240.0, mtt.get(this.stopId1, this.stopId3), 0.0); Assert.assertEquals(180.0, mtt.remove(this.stopId1, this.stopId2), 0.0); Assert.assertEquals(Double.NaN, mtt.get(this.stopId1, this.stopId2), 0.0); Assert.assertEquals(240.0, mtt.get(this.stopId1, this.stopId3), 0.0); Assert.assertEquals(Double.NaN, mtt.remove(this.stopId1, this.stopId4), 0.0); // we never set it, let's not throw an exception Assert.assertEquals(Double.NaN, mtt.get(this.stopId1, this.stopId4), 0.0); }
Assert.assertEquals(300, schedule2.getMinimalTransferTimes().get(stop1.getId(), stop2.getId()), 0.0); Assert.assertEquals(360, schedule2.getMinimalTransferTimes().get(stop2.getId(), stop1.getId()), 0.0); Assert.assertEquals(Double.NaN, schedule2.getMinimalTransferTimes().get(stop1.getId(), stop1.getId()), 0.0);