forked from upstream-mirrors/OpenTracks
Add test cases about getSlowSpeed and getNormalSpeed methods in DynamicSpeedTrackPathDescriptor.
This commit is contained in:
+8
@@ -129,6 +129,14 @@ public class DynamicSpeedTrackPathDescriptor implements TrackPathDescriptor {
|
|||||||
int getSpeedMargin() {
|
int getSpeedMargin() {
|
||||||
return speedMargin;
|
return speedMargin;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Sets the speed margin.
|
||||||
|
*/
|
||||||
|
@VisibleForTesting
|
||||||
|
void setSpeedMargin(int value) {
|
||||||
|
speedMargin = value;
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Gets the average moving speed.
|
* Gets the average moving speed.
|
||||||
|
|||||||
+30
-6
@@ -53,13 +53,37 @@ public class DynamicSpeedTrackPathDescriptorTest extends AndroidTestCase {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Tests {@link DynamicSpeedTrackPathDescriptor#getSlowSpeed()}.
|
||||||
|
*/
|
||||||
|
public void testGetSlowSpeed() {
|
||||||
|
DynamicSpeedTrackPathDescriptor dynamicSpeedTrackPathDescriptor = new DynamicSpeedTrackPathDescriptor(
|
||||||
|
context);
|
||||||
|
dynamicSpeedTrackPathDescriptor.setAverageMovingSpeed(50);
|
||||||
|
dynamicSpeedTrackPathDescriptor.setSpeedMargin(10);
|
||||||
|
assertEquals(50.0, dynamicSpeedTrackPathDescriptor.getAverageMovingSpeed());
|
||||||
|
assertEquals(45, dynamicSpeedTrackPathDescriptor.getSlowSpeed());
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Tests {@link DynamicSpeedTrackPathDescriptor#getNormalSpeed()}.
|
||||||
|
*/
|
||||||
|
public void testGetNormalSpeed() {
|
||||||
|
DynamicSpeedTrackPathDescriptor dynamicSpeedTrackPathDescriptor = new DynamicSpeedTrackPathDescriptor(
|
||||||
|
context);
|
||||||
|
dynamicSpeedTrackPathDescriptor.setAverageMovingSpeed(50);
|
||||||
|
dynamicSpeedTrackPathDescriptor.setSpeedMargin(10);
|
||||||
|
assertEquals(50.0, dynamicSpeedTrackPathDescriptor.getAverageMovingSpeed());
|
||||||
|
assertEquals(55, dynamicSpeedTrackPathDescriptor.getNormalSpeed());
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Tests {@link DynamicSpeedTrackPathDescriptor#updateState()} by wrong track
|
* Tests {@link DynamicSpeedTrackPathDescriptor#updateState()} by wrong track
|
||||||
* id.
|
* id.
|
||||||
*/
|
*/
|
||||||
public void testNeedsRedraw_WrongTrackId() {
|
public void testNeedsRedraw_WrongTrackId() {
|
||||||
PreferencesUtils.setLong(
|
PreferencesUtils.setLong(context, R.string.selected_track_id_key,
|
||||||
context, R.string.selected_track_id_key, PreferencesUtils.SELECTED_TRACK_ID_DEFAULT);
|
PreferencesUtils.SELECTED_TRACK_ID_DEFAULT);
|
||||||
DynamicSpeedTrackPathDescriptor dynamicSpeedTrackPathDescriptor = new DynamicSpeedTrackPathDescriptor(
|
DynamicSpeedTrackPathDescriptor dynamicSpeedTrackPathDescriptor = new DynamicSpeedTrackPathDescriptor(
|
||||||
context);
|
context);
|
||||||
assertEquals(false, dynamicSpeedTrackPathDescriptor.updateState());
|
assertEquals(false, dynamicSpeedTrackPathDescriptor.updateState());
|
||||||
@@ -74,9 +98,9 @@ public class DynamicSpeedTrackPathDescriptorTest extends AndroidTestCase {
|
|||||||
context);
|
context);
|
||||||
double[] averageMovingSpeeds = { 0, 30, 30, 30 };
|
double[] averageMovingSpeeds = { 0, 30, 30, 30 };
|
||||||
double[] newAverageMovingSpeed = { 20, 30,
|
double[] newAverageMovingSpeed = { 20, 30,
|
||||||
// Difference is less than CRITICAL_DIFFERENCE_PERCENTAGE
|
// Difference is less than CRITICAL_DIFFERENCE_PERCENTAGE
|
||||||
30 * (1 + (DynamicSpeedTrackPathDescriptor.CRITICAL_DIFFERENCE_PERCENTAGE / 100) / 2),
|
30 * (1 + (DynamicSpeedTrackPathDescriptor.CRITICAL_DIFFERENCE_PERCENTAGE / 100) / 2),
|
||||||
// Difference is more than CRITICAL_DIFFERENCE_PERCENTAGE
|
// Difference is more than CRITICAL_DIFFERENCE_PERCENTAGE
|
||||||
30 * (1 + (DynamicSpeedTrackPathDescriptor.CRITICAL_DIFFERENCE_PERCENTAGE / 100.00) * 2) };
|
30 * (1 + (DynamicSpeedTrackPathDescriptor.CRITICAL_DIFFERENCE_PERCENTAGE / 100.00) * 2) };
|
||||||
boolean[] expectedValues = { true, false, false, true };
|
boolean[] expectedValues = { true, false, false, true };
|
||||||
double[] expectedAverageMovingSpeed = { 0, 30, 30, 30 };
|
double[] expectedAverageMovingSpeed = { 0, 30, 30, 30 };
|
||||||
@@ -85,8 +109,8 @@ public class DynamicSpeedTrackPathDescriptorTest extends AndroidTestCase {
|
|||||||
dynamicSpeedTrackPathDescriptor.setAverageMovingSpeed(averageMovingSpeeds[i]);
|
dynamicSpeedTrackPathDescriptor.setAverageMovingSpeed(averageMovingSpeeds[i]);
|
||||||
assertEquals(expectedValues[i], dynamicSpeedTrackPathDescriptor.isDifferenceSignificant(
|
assertEquals(expectedValues[i], dynamicSpeedTrackPathDescriptor.isDifferenceSignificant(
|
||||||
averageMovingSpeeds[i], newAverageMovingSpeed[i]));
|
averageMovingSpeeds[i], newAverageMovingSpeed[i]));
|
||||||
assertEquals(
|
assertEquals(expectedAverageMovingSpeed[i],
|
||||||
expectedAverageMovingSpeed[i], dynamicSpeedTrackPathDescriptor.getAverageMovingSpeed());
|
dynamicSpeedTrackPathDescriptor.getAverageMovingSpeed());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
Reference in New Issue
Block a user