Change the code style of SingleColorTrackPathPainterTest and DynamicSpeedTrackPathPainterTest.

This commit is contained in:
youtaol
2012-04-06 16:27:13 +08:00
parent 68f50ef6de
commit 28750142a9
4 changed files with 18 additions and 17 deletions
@@ -51,9 +51,9 @@ public class SingleColorTrackPathPainter implements TrackPathPainter {
@Override @Override
public void updatePath(Projection projection, Rect viewRect, int startLocationIdx, public void updatePath(Projection projection, Rect viewRect, int startLocationIdx,
Boolean alwaysVisible, List<CachedLocation> points) { Boolean alwaysVisible, List<CachedLocation> points) {
Path newPath = new Path(); path = new Path();
newPath.incReserve(points.size()); path.incReserve(points.size());
path = updatePath(projection, viewRect, startLocationIdx, alwaysVisible, points, newPath); updatePath(projection, viewRect, startLocationIdx, alwaysVisible, points, path);
} }
@@ -68,7 +68,7 @@ public class SingleColorTrackPathPainter implements TrackPathPainter {
* @param newPath The path to be created. * @param newPath The path to be created.
*/ */
@VisibleForTesting @VisibleForTesting
Path updatePath(Projection projection, Rect viewRect, int startLocationIdx, void updatePath(Projection projection, Rect viewRect, int startLocationIdx,
Boolean alwaysVisible, List<CachedLocation> points, Path newPath) { Boolean alwaysVisible, List<CachedLocation> points, Path newPath) {
// Whether to start a new segment on new valid and visible point. // Whether to start a new segment on new valid and visible point.
boolean newSegment = startLocationIdx <= 0 || !points.get(startLocationIdx - 1).valid; boolean newSegment = startLocationIdx <= 0 || !points.get(startLocationIdx - 1).valid;
@@ -103,7 +103,6 @@ public class SingleColorTrackPathPainter implements TrackPathPainter {
newPath.lineTo(pt.x, pt.y); newPath.lineTo(pt.x, pt.y);
} }
} }
return newPath;
} }
@Override @Override
@@ -34,13 +34,12 @@ public class DynamicSpeedTrackPathPainterTest extends TrackPathPainterTestCase {
private DynamicSpeedTrackPathPainter dynamicSpeedTrackPathPainter; private DynamicSpeedTrackPathPainter dynamicSpeedTrackPathPainter;
private TrackPathDescriptor trackPathDescriptor; private TrackPathDescriptor trackPathDescriptor;
// This number must bigger than 10 to meets the requirement of test. // This number must bigger than 10 to meet the requirement of test.
private static final int NUMBER_OF_LOCATIONS = 100; private static final int NUMBER_OF_LOCATIONS = 100;
private static final int NUMBER_OF_SEGMENTS = 4;
private static final int LOCATIONS_PER_SEGMENT = 25; private static final int LOCATIONS_PER_SEGMENT = 25;
// The maximum speed which is considered slow. // The maximum speed(KM/H) which is considered slow.
private static final int SLOW_SPEED = 30; private static final int SLOW_SPEED = 30;
// The maximum speed which is considered normal. // The maximum speed(KM/H) which is considered normal.
private static final int NORMAL_SPEED = 50; private static final int NORMAL_SPEED = 50;
@Override @Override
@@ -94,18 +93,21 @@ public class DynamicSpeedTrackPathPainterTest extends TrackPathPainterTestCase {
*/ */
public void testUpdatePath_CheckColoredPath() { public void testUpdatePath_CheckColoredPath() {
// Gets the slow speed. Divide SLOW_SPEED by 2 to make it smaller than // Gets the slow speed. Divide SLOW_SPEED by 2 to make it smaller than
// SLOW_SPEED. // SLOW_SPEED. Speed in MyTracksLocation use MS, but speed in CachedLocation
// use KMH.
int slowSpeed = (int) (SLOW_SPEED / (2 * UnitConversions.MS_TO_KMH)); int slowSpeed = (int) (SLOW_SPEED / (2 * UnitConversions.MS_TO_KMH));
// Gets the normal speed. Makes it smaller than SLOW_SPEED and bigger than // Gets the normal speed. Makes it smaller than SLOW_SPEED and bigger than
// NORMAL_SPEED. // NORMAL_SPEED. Speed in MyTracksLocation use MS, but speed in
// CachedLocation use KMH.
int normalSpeed = (int) ((SLOW_SPEED + NORMAL_SPEED) / (2 * UnitConversions.MS_TO_KMH)); int normalSpeed = (int) ((SLOW_SPEED + NORMAL_SPEED) / (2 * UnitConversions.MS_TO_KMH));
// Gets the fast speed. Multiply it by 2 to make it bigger than // Gets the fast speed. Multiply it by 2 to make it bigger than
// NORMAL_SPEED. // NORMAL_SPEED. Speed in MyTracksLocation use MS, but speed in
// CachedLocation use KMH.
int fastSpeed = (int) (NORMAL_SPEED * 2 / UnitConversions.MS_TO_KMH); int fastSpeed = (int) (NORMAL_SPEED * 2 / UnitConversions.MS_TO_KMH);
// Get a number of startLocationIdx. And divide NUMBER_OF_LOCATIONS by 8 to // Get a number of startLocationIdx. And divide NUMBER_OF_LOCATIONS by 8 to
// make sure it is less than numberOfFirstThreeSegments. // make sure it is less than numberOfFirstThreeSegments.
int startLocationIdx = NUMBER_OF_LOCATIONS / NUMBER_OF_SEGMENTS / 2; int startLocationIdx = LOCATIONS_PER_SEGMENT / 2;
List<CachedLocation> points = createCachedLocations(LOCATIONS_PER_SEGMENT, List<CachedLocation> points = createCachedLocations(LOCATIONS_PER_SEGMENT,
TrackStubUtils.INITIAL_LATITUDE, slowSpeed); TrackStubUtils.INITIAL_LATITUDE, slowSpeed);
@@ -59,7 +59,7 @@ public class SingleColorTrackPathPainterTest extends TrackPathPainterTestCase {
// Gets a number as the start index of points. // Gets a number as the start index of points.
int startLocationIdx = NUMBER_OF_LOCATIONS / 2; int startLocationIdx = NUMBER_OF_LOCATIONS / 2;
for (int i = 0; i < NUMBER_OF_LOCATIONS - startLocationIdx; i++) { for (int i = startLocationIdx; i < NUMBER_OF_LOCATIONS; i++) {
pathMock.lineTo(0, 0); pathMock.lineTo(0, 0);
} }
@@ -77,7 +77,7 @@ public class SingleColorTrackPathPainterTest extends TrackPathPainterTestCase {
public void testUpdatePath_AllInvalidLocation() { public void testUpdatePath_AllInvalidLocation() {
List<CachedLocation> points = createCachedLocations(NUMBER_OF_LOCATIONS, INVALID_LATITUDE, -1); List<CachedLocation> points = createCachedLocations(NUMBER_OF_LOCATIONS, INVALID_LATITUDE, -1);
// Gets a random number from 1 to numberOfLocations. // Gets a random number from 1 to numberOfLocations.
int startLocationIdx = (int) (1 + (NUMBER_OF_LOCATIONS - 1) * Math.random()); int startLocationIdx = NUMBER_OF_LOCATIONS / 2;
AndroidMock.replay(pathMock); AndroidMock.replay(pathMock);
singleColorTrackPathPainter.updatePath(myTracksOverlay.getMapProjection(mockView), singleColorTrackPathPainter.updatePath(myTracksOverlay.getMapProjection(mockView),
myTracksOverlay.getMapViewRect(mockView), startLocationIdx, true, points, pathMock); myTracksOverlay.getMapViewRect(mockView), startLocationIdx, true, points, pathMock);
@@ -100,7 +100,7 @@ public class SingleColorTrackPathPainterTest extends TrackPathPainterTestCase {
// Third segment. // Third segment.
points.addAll(createCachedLocations(NUMBER_OF_LOCATIONS, TrackStubUtils.INITIAL_LATITUDE, -1)); points.addAll(createCachedLocations(NUMBER_OF_LOCATIONS, TrackStubUtils.INITIAL_LATITUDE, -1));
// Gets a random number from 1 to numberOfLocations. // Gets a random number from 1 to numberOfLocations.
int startLocationIdx = (int) (1 + (NUMBER_OF_LOCATIONS - 1) * Math.random()); int startLocationIdx = NUMBER_OF_LOCATIONS / 2;
for (int i = 0; i < NUMBER_OF_LOCATIONS - startLocationIdx; i++) { for (int i = 0; i < NUMBER_OF_LOCATIONS - startLocationIdx; i++) {
pathMock.lineTo(0, 0); pathMock.lineTo(0, 0);
} }
@@ -56,7 +56,7 @@ public class TrackPathPainterTestCase extends AndroidTestCase {
* *
* @param number the number of locations * @param number the number of locations
* @param latitude the latitude value of locations. * @param latitude the latitude value of locations.
* @param speed the speed of locations, and will give a default valid value if * @param speed the speed(meter per second) of locations, and will give a default valid value if
* less than zero * less than zero
* @return the simulated locations * @return the simulated locations
*/ */