package com.github.pfichtner.jrunalyser.base.util;
import java.util.concurrent.TimeUnit;
import com.github.pfichtner.jrunalyser.base.data.DefaultDuration;
import com.github.pfichtner.jrunalyser.base.data.Distance;
import com.github.pfichtner.jrunalyser.base.data.DistanceUnit;
import com.github.pfichtner.jrunalyser.base.data.Duration;
public final class FixedDistance {
private final Distance fixedDistance;
public FixedDistance(Distance fixedDistance) {
this.fixedDistance = fixedDistance; // e.g. 400m
}
public Duration getDuration(Distance sourceDistance, Duration sourceDuration) {
DistanceUnit du = sourceDistance.getDistanceUnit();
TimeUnit tu = sourceDuration.getTimeUnit();
double converted = sourceDuration.getValue(tu)
/ sourceDistance.getValue(du) * this.fixedDistance.getValue(du);
return DefaultDuration.of(converted, tu);
}
}