Add test cases about getSlowSpeed and getNormalSpeed methods in DynamicSpeedTrackPathDescriptor.

This commit is contained in:
youtaol
2012-12-10 18:32:10 +08:00
parent 2fb1280b12
commit 1a73df6edc
2 changed files with 38 additions and 6 deletions
@@ -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.
@@ -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());
} }
} }
} }