package com.github.pfichtner.jrunalyser.base.data;
import static org.junit.Assert.assertEquals;
import java.util.concurrent.TimeUnit;
import org.junit.Test;
import com.github.pfichtner.jrunalyser.base.data.DefaultPace;
import com.github.pfichtner.jrunalyser.base.data.DefaultSpeed;
import com.github.pfichtner.jrunalyser.base.data.DistanceUnit;
import com.github.pfichtner.jrunalyser.base.data.Pace;
import com.github.pfichtner.jrunalyser.base.data.Speed;
public class SpeedPaceTest {
@Test
public void testSpeedConvert() {
Speed mps = new DefaultSpeed(5.0, DistanceUnit.METERS, TimeUnit.SECONDS);
assertEquals(18.0,
mps.getValue(DistanceUnit.KILOMETERS, TimeUnit.HOURS), 0.0);
assertEquals(5.0, mps.getValue(DistanceUnit.METERS, TimeUnit.SECONDS),
0.0);
}
@Test
public void testPaceConvert() {
Pace secsPerMeter = new DefaultPace(20.0, TimeUnit.SECONDS,
DistanceUnit.METERS);
assertEquals(5.555,
secsPerMeter.getValue(TimeUnit.HOURS, DistanceUnit.KILOMETERS),
0.001);
assertEquals(20.0,
secsPerMeter.getValue(TimeUnit.SECONDS, DistanceUnit.METERS),
0.0);
}
@Test
public void testCrossConvert() throws Exception {
Speed kmh = new DefaultSpeed(10.0, DistanceUnit.KILOMETERS,
TimeUnit.HOURS);
Pace minsPerKm = kmh.toPace(TimeUnit.MINUTES, DistanceUnit.KILOMETERS);
assertEquals(6.0,
minsPerKm.getValue(TimeUnit.MINUTES, DistanceUnit.KILOMETERS),
0.0);
assertEquals(10.0,
minsPerKm.toSpeed(DistanceUnit.KILOMETERS, TimeUnit.HOURS)
.getValue(DistanceUnit.KILOMETERS, TimeUnit.HOURS), 0.0);
}
}