From 784c4337e2b5847ed9d649d08043e254ef0b2994 Mon Sep 17 00:00:00 2001 From: Leonard Ehrenfried Date: Tue, 9 Apr 2024 12:37:01 +0200 Subject: [PATCH] Add test and docs for DurationModifier --- .../ext/flex/trip/DurationModifierTest.java | 20 +++++++++++++++++++ .../ext/flex/trip/DurationModifier.java | 7 +++++++ 2 files changed, 27 insertions(+) create mode 100644 src/ext-test/java/org/opentripplanner/ext/flex/trip/DurationModifierTest.java diff --git a/src/ext-test/java/org/opentripplanner/ext/flex/trip/DurationModifierTest.java b/src/ext-test/java/org/opentripplanner/ext/flex/trip/DurationModifierTest.java new file mode 100644 index 00000000000..c6f4e75f7c5 --- /dev/null +++ b/src/ext-test/java/org/opentripplanner/ext/flex/trip/DurationModifierTest.java @@ -0,0 +1,20 @@ +package org.opentripplanner.ext.flex.trip; + +import static org.junit.jupiter.api.Assertions.assertFalse; +import static org.junit.jupiter.api.Assertions.assertTrue; + +import java.time.Duration; +import org.junit.jupiter.api.Test; + +class DurationModifierTest { + + @Test + void doesNotModify() { + assertFalse(DurationModifier.NONE.modifies()); + } + + @Test + void modifies() { + assertTrue(new DurationModifier(Duration.ofMinutes(1), 1.5f).modifies()); + } +} \ No newline at end of file diff --git a/src/ext/java/org/opentripplanner/ext/flex/trip/DurationModifier.java b/src/ext/java/org/opentripplanner/ext/flex/trip/DurationModifier.java index b9abdd843ff..4832a7cc9bc 100644 --- a/src/ext/java/org/opentripplanner/ext/flex/trip/DurationModifier.java +++ b/src/ext/java/org/opentripplanner/ext/flex/trip/DurationModifier.java @@ -5,12 +5,19 @@ import org.opentripplanner.framework.time.DurationUtils; import org.opentripplanner.framework.tostring.ToStringBuilder; +/** + * A modifier to influence the A*-calculated driving time of flex trips. + */ public class DurationModifier implements Serializable { public static DurationModifier NONE = new DurationModifier(Duration.ZERO, 1); private final int offset; private final float factor; + /** + * @param offset A fixed offset to add to the driving time. + * @param factor A factor to multiply the driving time with. + */ public DurationModifier(Duration offset, float factor) { if (factor < 0.1) { throw new IllegalArgumentException("Flex duration factor must not be less than 0.1");