Bugfix: Cadence/Speed computation incorrectly truncated time to long instead of float.

This commit is contained in:
Dennis Guse
2020-05-10 16:36:26 +02:00
parent e3a8143d58
commit e55924dae3
4 changed files with 45 additions and 14 deletions
@@ -12,7 +12,7 @@ import de.dennisguse.opentracks.util.UintUtils;
public class SensorDataCyclingTest {
@Test
public void compute_cadence() {
public void compute_cadence_1() {
// given
SensorDataCycling.Cadence previous = new SensorDataCycling.Cadence("sensorAddress", "sensorName", 1, 1024); // 1s
SensorDataCycling.Cadence current = new SensorDataCycling.Cadence("sensorAddress", "sensorName", 2, 2048); // 2s
@@ -24,6 +24,19 @@ public class SensorDataCyclingTest {
Assert.assertEquals(60, current.getCadence_rpm(), 0.01);
}
@Test
public void compute_cadence_2() {
// given
SensorDataCycling.Cadence previous = new SensorDataCycling.Cadence("sensorAddress", "sensorName", 1, 6184);
SensorDataCycling.Cadence current = new SensorDataCycling.Cadence("sensorAddress", "sensorName", 2, 8016);
// when
current.compute(previous);
// then
Assert.assertEquals(33.53, current.getCadence_rpm(), 0.01);
}
@Test
public void compute_cadence_sameCount() {
// given
@@ -77,6 +90,19 @@ public class SensorDataCyclingTest {
Assert.assertEquals(60, current.getCadence_rpm(), 0.01);
}
@Test
public void compute_speed() {
// given
SensorDataCycling.Speed previous = new SensorDataCycling.Speed("sensorAddress", "sensorName", 1, 6184);
SensorDataCycling.Speed current = new SensorDataCycling.Speed("sensorAddress", "sensorName", 2, 8016);
// when
current.compute(previous, 2150);
// then
Assert.assertEquals(1.20, current.getSpeed_mps(), 0.01);
}
@Test
public void compute_speed_rollOverCount() {
// given