forked from upstream-mirrors/OpenTracks
Bugfix: cadence and speed now can compare when data is not set.
This commit is contained in:
+29
@@ -9,6 +9,7 @@ import de.dennisguse.opentracks.util.UintUtils;
|
|||||||
|
|
||||||
import static org.junit.Assert.assertEquals;
|
import static org.junit.Assert.assertEquals;
|
||||||
import static org.junit.Assert.assertFalse;
|
import static org.junit.Assert.assertFalse;
|
||||||
|
import static org.junit.Assert.assertNotEquals;
|
||||||
|
|
||||||
@RunWith(AndroidJUnit4.class)
|
@RunWith(AndroidJUnit4.class)
|
||||||
public class SensorDataCyclingTest {
|
public class SensorDataCyclingTest {
|
||||||
@@ -117,4 +118,32 @@ public class SensorDataCyclingTest {
|
|||||||
// then
|
// then
|
||||||
assertEquals(2, current.getSpeed_mps(), 0.01);
|
assertEquals(2, current.getSpeed_mps(), 0.01);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
public void equals_speed_with_no_data() {
|
||||||
|
// given
|
||||||
|
SensorDataCycling.Speed previous = new SensorDataCycling.Speed("sensorAddress");
|
||||||
|
SensorDataCycling.Speed current = new SensorDataCycling.Speed("sensorAddress", "sensorName", 0, 2048);
|
||||||
|
|
||||||
|
// when
|
||||||
|
previous.toString();
|
||||||
|
|
||||||
|
// then
|
||||||
|
assertNotEquals(previous, current);
|
||||||
|
assertNotEquals(previous, previous);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
public void equals_cadence_with_no_data() {
|
||||||
|
// given
|
||||||
|
SensorDataCycling.Cadence previous = new SensorDataCycling.Cadence("sensorAddress");
|
||||||
|
SensorDataCycling.Cadence current = new SensorDataCycling.Cadence("sensorAddress", "sensorName", 0, 2048);
|
||||||
|
|
||||||
|
// when
|
||||||
|
previous.toString();
|
||||||
|
|
||||||
|
// then
|
||||||
|
assertNotEquals(previous, current);
|
||||||
|
assertNotEquals(previous, previous);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
@@ -42,7 +42,7 @@ public final class SensorDataCycling {
|
|||||||
* Workaround for Wahoo CADENCE: provides speed instead of cadence
|
* Workaround for Wahoo CADENCE: provides speed instead of cadence
|
||||||
*/
|
*/
|
||||||
public Cadence(@NonNull SensorDataCycling.Speed speed) {
|
public Cadence(@NonNull SensorDataCycling.Speed speed) {
|
||||||
this(speed.getSensorAddress(), speed.getSensorName(), speed.getWheelRevolutionsCount(), speed.getWheelRevolutionsTime());
|
this(speed.getSensorAddress(), speed.getSensorName(), speed.wheelRevolutionsCount, speed.wheelRevolutionsTime);
|
||||||
}
|
}
|
||||||
|
|
||||||
public boolean hasData() {
|
public boolean hasData() {
|
||||||
@@ -90,7 +90,11 @@ public final class SensorDataCycling {
|
|||||||
if (!(obj instanceof Cadence)) return false;
|
if (!(obj instanceof Cadence)) return false;
|
||||||
|
|
||||||
Cadence comp = (Cadence) obj;
|
Cadence comp = (Cadence) obj;
|
||||||
return getCrankRevolutionsCount() == comp.getCrankRevolutionsCount() && getCrankRevolutionsTime() == comp.getCrankRevolutionsTime();
|
if (hasData() && comp.hasData() == hasData()) {
|
||||||
|
return getCrankRevolutionsCount() == comp.getCrankRevolutionsCount() && getCrankRevolutionsTime() == comp.getCrankRevolutionsTime();
|
||||||
|
} else {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -157,7 +161,11 @@ public final class SensorDataCycling {
|
|||||||
if (!(obj instanceof Speed)) return false;
|
if (!(obj instanceof Speed)) return false;
|
||||||
|
|
||||||
Speed comp = (Speed) obj;
|
Speed comp = (Speed) obj;
|
||||||
return getWheelRevolutionsCount() == comp.getWheelRevolutionsCount() && getWheelRevolutionsTime() == comp.getWheelRevolutionsTime();
|
if (hasData() && comp.hasData() == hasData()) {
|
||||||
|
return getWheelRevolutionsCount() == comp.getWheelRevolutionsCount() && getWheelRevolutionsTime() == comp.getWheelRevolutionsTime();
|
||||||
|
} else {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user