From 1a73df6edcd602b0efe9a5bdca509ccd916b8579 Mon Sep 17 00:00:00 2001 From: youtaol Date: Mon, 10 Dec 2012 18:32:10 +0800 Subject: [PATCH] Add test cases about getSlowSpeed and getNormalSpeed methods in DynamicSpeedTrackPathDescriptor. --- .../maps/DynamicSpeedTrackPathDescriptor.java | 8 +++++ .../DynamicSpeedTrackPathDescriptorTest.java | 36 +++++++++++++++---- 2 files changed, 38 insertions(+), 6 deletions(-) diff --git a/MyTracks/src/com/google/android/apps/mytracks/maps/DynamicSpeedTrackPathDescriptor.java b/MyTracks/src/com/google/android/apps/mytracks/maps/DynamicSpeedTrackPathDescriptor.java index b9dae800b..4f39583c0 100644 --- a/MyTracks/src/com/google/android/apps/mytracks/maps/DynamicSpeedTrackPathDescriptor.java +++ b/MyTracks/src/com/google/android/apps/mytracks/maps/DynamicSpeedTrackPathDescriptor.java @@ -129,6 +129,14 @@ public class DynamicSpeedTrackPathDescriptor implements TrackPathDescriptor { int getSpeedMargin() { return speedMargin; } + + /** + * Sets the speed margin. + */ + @VisibleForTesting + void setSpeedMargin(int value) { + speedMargin = value; + } /** * Gets the average moving speed. diff --git a/MyTracksTest/src/com/google/android/apps/mytracks/maps/DynamicSpeedTrackPathDescriptorTest.java b/MyTracksTest/src/com/google/android/apps/mytracks/maps/DynamicSpeedTrackPathDescriptorTest.java index 482b8c91c..3d4f2ab62 100644 --- a/MyTracksTest/src/com/google/android/apps/mytracks/maps/DynamicSpeedTrackPathDescriptorTest.java +++ b/MyTracksTest/src/com/google/android/apps/mytracks/maps/DynamicSpeedTrackPathDescriptorTest.java @@ -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 * id. */ public void testNeedsRedraw_WrongTrackId() { - PreferencesUtils.setLong( - context, R.string.selected_track_id_key, PreferencesUtils.SELECTED_TRACK_ID_DEFAULT); + PreferencesUtils.setLong(context, R.string.selected_track_id_key, + PreferencesUtils.SELECTED_TRACK_ID_DEFAULT); DynamicSpeedTrackPathDescriptor dynamicSpeedTrackPathDescriptor = new DynamicSpeedTrackPathDescriptor( context); assertEquals(false, dynamicSpeedTrackPathDescriptor.updateState()); @@ -74,9 +98,9 @@ public class DynamicSpeedTrackPathDescriptorTest extends AndroidTestCase { context); double[] averageMovingSpeeds = { 0, 30, 30, 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), - // Difference is more than CRITICAL_DIFFERENCE_PERCENTAGE + // Difference is more than CRITICAL_DIFFERENCE_PERCENTAGE 30 * (1 + (DynamicSpeedTrackPathDescriptor.CRITICAL_DIFFERENCE_PERCENTAGE / 100.00) * 2) }; boolean[] expectedValues = { true, false, false, true }; double[] expectedAverageMovingSpeed = { 0, 30, 30, 30 }; @@ -85,8 +109,8 @@ public class DynamicSpeedTrackPathDescriptorTest extends AndroidTestCase { dynamicSpeedTrackPathDescriptor.setAverageMovingSpeed(averageMovingSpeeds[i]); assertEquals(expectedValues[i], dynamicSpeedTrackPathDescriptor.isDifferenceSignificant( averageMovingSpeeds[i], newAverageMovingSpeed[i])); - assertEquals( - expectedAverageMovingSpeed[i], dynamicSpeedTrackPathDescriptor.getAverageMovingSpeed()); + assertEquals(expectedAverageMovingSpeed[i], + dynamicSpeedTrackPathDescriptor.getAverageMovingSpeed()); } } } \ No newline at end of file