forked from upstream-mirrors/OpenTracks
Merge heads
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.
|
||||||
|
|||||||
@@ -20,6 +20,7 @@ import com.google.android.gms.maps.GoogleMap;
|
|||||||
import com.google.android.gms.maps.model.LatLng;
|
import com.google.android.gms.maps.model.LatLng;
|
||||||
import com.google.android.gms.maps.model.Polyline;
|
import com.google.android.gms.maps.model.Polyline;
|
||||||
import com.google.android.maps.mytracks.R;
|
import com.google.android.maps.mytracks.R;
|
||||||
|
import com.google.common.annotations.VisibleForTesting;
|
||||||
|
|
||||||
import android.content.Context;
|
import android.content.Context;
|
||||||
|
|
||||||
@@ -102,7 +103,8 @@ public class MultiColorTrackPath implements TrackPath {
|
|||||||
TrackPathUtils.addPath(googleMap, paths, lastSegmentPoints, lastSegmentColor, useLastPolyline);
|
TrackPathUtils.addPath(googleMap, paths, lastSegmentPoints, lastSegmentColor, useLastPolyline);
|
||||||
}
|
}
|
||||||
|
|
||||||
private int getColor(int speed) {
|
@VisibleForTesting
|
||||||
|
protected int getColor(int speed) {
|
||||||
if (speed <= trackPathDescriptor.getSlowSpeed()) {
|
if (speed <= trackPathDescriptor.getSlowSpeed()) {
|
||||||
return slowColor;
|
return slowColor;
|
||||||
} else if (speed <= trackPathDescriptor.getNormalSpeed()) {
|
} else if (speed <= trackPathDescriptor.getNormalSpeed()) {
|
||||||
@@ -111,4 +113,16 @@ public class MultiColorTrackPath implements TrackPath {
|
|||||||
return fastColor;
|
return fastColor;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public int getSlowColor() {
|
||||||
|
return slowColor;
|
||||||
|
}
|
||||||
|
|
||||||
|
public int getNormalColor() {
|
||||||
|
return normalColor;
|
||||||
|
}
|
||||||
|
|
||||||
|
public int getFastColor() {
|
||||||
|
return fastColor;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
+2
-1
@@ -971,8 +971,9 @@ public class EndToEndTestUtils {
|
|||||||
* Waits a text to disappear.
|
* Waits a text to disappear.
|
||||||
*/
|
*/
|
||||||
public static void waitTextToDisappear(String text) {
|
public static void waitTextToDisappear(String text) {
|
||||||
|
instrumentation.waitForIdleSync();
|
||||||
// The first wait should longer than following waits.
|
// The first wait should longer than following waits.
|
||||||
SOLO.waitForText(text, 1, SHORT_WAIT_TIME);
|
SOLO.waitForText(text, 1, 500);
|
||||||
while (SOLO.waitForText(text, 1, 200)) {}
|
while (SOLO.waitForText(text, 1, 200)) {}
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -17,9 +17,11 @@ package com.google.android.apps.mytracks.endtoendtest;
|
|||||||
|
|
||||||
import com.google.android.apps.mytracks.ChartView;
|
import com.google.android.apps.mytracks.ChartView;
|
||||||
import com.google.android.apps.mytracks.TrackListActivity;
|
import com.google.android.apps.mytracks.TrackListActivity;
|
||||||
|
import com.google.android.apps.mytracks.util.PreferencesUtils;
|
||||||
import com.google.android.maps.mytracks.R;
|
import com.google.android.maps.mytracks.R;
|
||||||
|
|
||||||
import android.app.Instrumentation;
|
import android.app.Instrumentation;
|
||||||
|
import android.content.Context;
|
||||||
import android.test.ActivityInstrumentationTestCase2;
|
import android.test.ActivityInstrumentationTestCase2;
|
||||||
import android.widget.CheckBox;
|
import android.widget.CheckBox;
|
||||||
|
|
||||||
@@ -31,7 +33,7 @@ import java.util.ArrayList;
|
|||||||
* @author Youtao Liu
|
* @author Youtao Liu
|
||||||
*/
|
*/
|
||||||
public class SettingTest extends ActivityInstrumentationTestCase2<TrackListActivity> {
|
public class SettingTest extends ActivityInstrumentationTestCase2<TrackListActivity> {
|
||||||
|
|
||||||
private Instrumentation instrumentation;
|
private Instrumentation instrumentation;
|
||||||
private TrackListActivity activityMyTracks;
|
private TrackListActivity activityMyTracks;
|
||||||
|
|
||||||
@@ -44,7 +46,7 @@ public class SettingTest extends ActivityInstrumentationTestCase2<TrackListActiv
|
|||||||
super.setUp();
|
super.setUp();
|
||||||
instrumentation = getInstrumentation();
|
instrumentation = getInstrumentation();
|
||||||
activityMyTracks = getActivity();
|
activityMyTracks = getActivity();
|
||||||
EndToEndTestUtils.setupForAllTest(instrumentation, activityMyTracks);
|
EndToEndTestUtils.setupForDebug(instrumentation, activityMyTracks);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -74,26 +76,30 @@ public class SettingTest extends ActivityInstrumentationTestCase2<TrackListActiv
|
|||||||
// Change a setting of sharing.
|
// Change a setting of sharing.
|
||||||
EndToEndTestUtils.SOLO.clickOnText(activityMyTracks.getString(R.string.settings_sharing));
|
EndToEndTestUtils.SOLO.clickOnText(activityMyTracks.getString(R.string.settings_sharing));
|
||||||
assertTrue(EndToEndTestUtils.SOLO.waitForText(
|
assertTrue(EndToEndTestUtils.SOLO.waitForText(
|
||||||
activityMyTracks.getString(R.string.settings_sharing_allow_access), 1, EndToEndTestUtils.NORMAL_WAIT_TIME));
|
activityMyTracks.getString(R.string.settings_sharing_allow_access), 1,
|
||||||
|
EndToEndTestUtils.NORMAL_WAIT_TIME));
|
||||||
ArrayList<CheckBox> sharingCheckBoxs = EndToEndTestUtils.SOLO.getCurrentCheckBoxes();
|
ArrayList<CheckBox> sharingCheckBoxs = EndToEndTestUtils.SOLO.getCurrentCheckBoxes();
|
||||||
boolean newMapsPublic = sharingCheckBoxs.get(0).isChecked();
|
boolean newMapsPublic = sharingCheckBoxs.get(0).isChecked();
|
||||||
EndToEndTestUtils.SOLO.clickOnCheckBox(0);
|
EndToEndTestUtils.SOLO.clickOnCheckBox(0);
|
||||||
instrumentation.waitForIdleSync();
|
instrumentation.waitForIdleSync();
|
||||||
assertTrue(EndToEndTestUtils.SOLO.waitForText(
|
assertTrue(EndToEndTestUtils.SOLO.waitForText(
|
||||||
activityMyTracks.getString(R.string.settings_sharing_allow_access), 1, EndToEndTestUtils.NORMAL_WAIT_TIME));
|
activityMyTracks.getString(R.string.settings_sharing_allow_access), 1,
|
||||||
|
EndToEndTestUtils.NORMAL_WAIT_TIME));
|
||||||
assertEquals(!newMapsPublic, EndToEndTestUtils.SOLO.getCurrentCheckBoxes().get(0).isChecked());
|
assertEquals(!newMapsPublic, EndToEndTestUtils.SOLO.getCurrentCheckBoxes().get(0).isChecked());
|
||||||
EndToEndTestUtils.SOLO.goBack();
|
EndToEndTestUtils.SOLO.goBack();
|
||||||
|
|
||||||
// Reset all settings.
|
// Reset all settings.
|
||||||
EndToEndTestUtils.SOLO.clickOnText(activityMyTracks.getString(R.string.settings_reset));
|
EndToEndTestUtils.SOLO.clickOnText(activityMyTracks.getString(R.string.settings_reset));
|
||||||
EndToEndTestUtils.getButtonOnScreen(activityMyTracks.getString(R.string.generic_ok), true, true);
|
EndToEndTestUtils
|
||||||
|
.getButtonOnScreen(activityMyTracks.getString(R.string.generic_ok), true, true);
|
||||||
|
|
||||||
// Check settings.
|
// Check settings.
|
||||||
// Add following scroll up for a bug of Robotium.
|
// Add following scroll up for a bug of Robotium.
|
||||||
EndToEndTestUtils.SOLO.scrollUp();
|
EndToEndTestUtils.SOLO.scrollUp();
|
||||||
EndToEndTestUtils.SOLO.clickOnText(activityMyTracks.getString(R.string.track_detail_stats_tab));
|
EndToEndTestUtils.SOLO.clickOnText(activityMyTracks.getString(R.string.track_detail_stats_tab));
|
||||||
assertTrue(EndToEndTestUtils.SOLO.waitForText(activityMyTracks
|
assertTrue(EndToEndTestUtils.SOLO.waitForText(
|
||||||
.getString(R.string.settings_stats_units_title), 1, EndToEndTestUtils.LONG_WAIT_TIME));
|
activityMyTracks.getString(R.string.settings_stats_units_title), 1,
|
||||||
|
EndToEndTestUtils.LONG_WAIT_TIME));
|
||||||
displayCheckBoxs = EndToEndTestUtils.SOLO.getCurrentCheckBoxes();
|
displayCheckBoxs = EndToEndTestUtils.SOLO.getCurrentCheckBoxes();
|
||||||
assertEquals(useMetric, displayCheckBoxs.get(0).isChecked());
|
assertEquals(useMetric, displayCheckBoxs.get(0).isChecked());
|
||||||
|
|
||||||
@@ -115,7 +121,7 @@ public class SettingTest extends ActivityInstrumentationTestCase2<TrackListActiv
|
|||||||
// Change it back and verify it.
|
// Change it back and verify it.
|
||||||
ChangePreferredUnits();
|
ChangePreferredUnits();
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Tests the change of stats settings during recording on chart view.
|
* Tests the change of stats settings during recording on chart view.
|
||||||
*/
|
*/
|
||||||
@@ -129,7 +135,7 @@ public class SettingTest extends ActivityInstrumentationTestCase2<TrackListActiv
|
|||||||
EndToEndTestUtils.stopRecording(true);
|
EndToEndTestUtils.stopRecording(true);
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Tests the change of stats settings during recording on stats tab.
|
* Tests the change of stats settings during recording on stats tab.
|
||||||
*/
|
*/
|
||||||
@@ -143,9 +149,10 @@ public class SettingTest extends ActivityInstrumentationTestCase2<TrackListActiv
|
|||||||
EndToEndTestUtils.stopRecording(true);
|
EndToEndTestUtils.stopRecording(true);
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Tests displaying elevation, grade and latitude and longitude information in Stats tab.
|
* Tests displaying elevation, grade and latitude and longitude information in
|
||||||
|
* Stats tab.
|
||||||
*/
|
*/
|
||||||
public void testChangeStatsSettings_showExtraInfos() {
|
public void testChangeStatsSettings_showExtraInfos() {
|
||||||
EndToEndTestUtils.createTrackIfEmpty(5, false);
|
EndToEndTestUtils.createTrackIfEmpty(5, false);
|
||||||
@@ -161,7 +168,7 @@ public class SettingTest extends ActivityInstrumentationTestCase2<TrackListActiv
|
|||||||
assertTrue(EndToEndTestUtils.SOLO.waitForText(activityMyTracks
|
assertTrue(EndToEndTestUtils.SOLO.waitForText(activityMyTracks
|
||||||
.getString(R.string.stats_latitude)));
|
.getString(R.string.stats_latitude)));
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Changes settings of preferred units and preferred rate.
|
* Changes settings of preferred units and preferred rate.
|
||||||
*
|
*
|
||||||
@@ -188,12 +195,10 @@ public class SettingTest extends ActivityInstrumentationTestCase2<TrackListActiv
|
|||||||
.getString(R.string.settings_stats_rate_title));
|
.getString(R.string.settings_stats_rate_title));
|
||||||
}
|
}
|
||||||
if (changeElevation) {
|
if (changeElevation) {
|
||||||
EndToEndTestUtils.SOLO.clickOnText(activityMyTracks
|
EndToEndTestUtils.SOLO.clickOnText(activityMyTracks.getString(R.string.stats_elevation));
|
||||||
.getString(R.string.stats_elevation));
|
|
||||||
}
|
}
|
||||||
if (changeGrade) {
|
if (changeGrade) {
|
||||||
EndToEndTestUtils.SOLO.clickOnText(activityMyTracks
|
EndToEndTestUtils.SOLO.clickOnText(activityMyTracks.getString(R.string.settings_stats_grade));
|
||||||
.getString(R.string.settings_stats_grade));
|
|
||||||
}
|
}
|
||||||
if (changeLatLong) {
|
if (changeLatLong) {
|
||||||
EndToEndTestUtils.SOLO.clickOnText(activityMyTracks
|
EndToEndTestUtils.SOLO.clickOnText(activityMyTracks
|
||||||
@@ -297,6 +302,45 @@ public class SettingTest extends ActivityInstrumentationTestCase2<TrackListActiv
|
|||||||
EndToEndTestUtils.SOLO.clickOnText(activityMyTracks.getString(R.string.generic_save));
|
EndToEndTestUtils.SOLO.clickOnText(activityMyTracks.getString(R.string.generic_save));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Tests the setting of track color settings.
|
||||||
|
*/
|
||||||
|
public void testTrackColorSettings() {
|
||||||
|
Context context = activityMyTracks.getApplicationContext();
|
||||||
|
EndToEndTestUtils.findMenuItem(activityMyTracks.getString(R.string.menu_settings), true);
|
||||||
|
EndToEndTestUtils.SOLO.clickOnText(activityMyTracks.getString(R.string.menu_map));
|
||||||
|
|
||||||
|
EndToEndTestUtils.SOLO.clickOnText(activityMyTracks
|
||||||
|
.getString(R.string.settings_map_track_color_mode));
|
||||||
|
instrumentation.waitForIdleSync();
|
||||||
|
EndToEndTestUtils.SOLO.clickOnText(activityMyTracks
|
||||||
|
.getString(R.string.settings_map_track_color_mode_fixed));
|
||||||
|
EndToEndTestUtils.waitTextToDisappear(activityMyTracks
|
||||||
|
.getString(R.string.settings_map_track_color_mode_dynamic_value));
|
||||||
|
assertEquals(activityMyTracks.getString(R.string.settings_map_track_color_mode_fixed_value),
|
||||||
|
PreferencesUtils.getString(context, R.string.track_color_mode_key, "error"));
|
||||||
|
|
||||||
|
EndToEndTestUtils.SOLO.clickOnText(activityMyTracks
|
||||||
|
.getString(R.string.settings_map_track_color_mode));
|
||||||
|
instrumentation.waitForIdleSync();
|
||||||
|
EndToEndTestUtils.SOLO.clickOnText(activityMyTracks
|
||||||
|
.getString(R.string.settings_map_track_color_mode_dynamic));
|
||||||
|
EndToEndTestUtils.waitTextToDisappear(activityMyTracks
|
||||||
|
.getString(R.string.settings_map_track_color_mode_dynamic_value));
|
||||||
|
assertEquals(activityMyTracks.getString(R.string.settings_map_track_color_mode_dynamic_value),
|
||||||
|
PreferencesUtils.getString(context, R.string.track_color_mode_key, "error"));
|
||||||
|
|
||||||
|
EndToEndTestUtils.SOLO.clickOnText(activityMyTracks
|
||||||
|
.getString(R.string.settings_map_track_color_mode));
|
||||||
|
instrumentation.waitForIdleSync();
|
||||||
|
EndToEndTestUtils.SOLO.clickOnText(activityMyTracks
|
||||||
|
.getString(R.string.settings_map_track_color_mode_single));
|
||||||
|
EndToEndTestUtils.waitTextToDisappear(activityMyTracks
|
||||||
|
.getString(R.string.settings_map_track_color_mode_dynamic_value));
|
||||||
|
assertEquals(activityMyTracks.getString(R.string.settings_map_track_color_mode_single_value),
|
||||||
|
PreferencesUtils.getString(context, R.string.track_color_mode_key, "error"));
|
||||||
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
protected void tearDown() throws Exception {
|
protected void tearDown() throws Exception {
|
||||||
EndToEndTestUtils.SOLO.finishOpenedActivities();
|
EndToEndTestUtils.SOLO.finishOpenedActivities();
|
||||||
|
|||||||
+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());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -0,0 +1,58 @@
|
|||||||
|
/*
|
||||||
|
* Copyright 2011 Google Inc.
|
||||||
|
*
|
||||||
|
* Licensed under the Apache License, Version 2.0 (the "License"); you may not
|
||||||
|
* use this file except in compliance with the License. You may obtain a copy of
|
||||||
|
* the License at
|
||||||
|
*
|
||||||
|
* http://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
*
|
||||||
|
* Unless required by applicable law or agreed to in writing, software
|
||||||
|
* distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
|
||||||
|
* WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
|
||||||
|
* License for the specific language governing permissions and limitations under
|
||||||
|
* the License.
|
||||||
|
*/
|
||||||
|
package com.google.android.apps.mytracks.maps;
|
||||||
|
|
||||||
|
import android.content.Context;
|
||||||
|
import android.test.AndroidTestCase;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Tests for the {@link MultiColorTrackPath}.
|
||||||
|
*
|
||||||
|
* @author Youtao Liu
|
||||||
|
*/
|
||||||
|
public class MultiColorTrackPathTest extends AndroidTestCase {
|
||||||
|
|
||||||
|
MultiColorTrackPath multiColorTrackPath;
|
||||||
|
Context context;
|
||||||
|
|
||||||
|
@Override
|
||||||
|
protected void setUp() throws Exception {
|
||||||
|
context = getContext();
|
||||||
|
super.setUp();
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Tests the {@link MultiColorTrackPath#getColor(int)} when use dynamic speed track path descriptor.
|
||||||
|
*/
|
||||||
|
public void testGetColor_DynamicSpeedTrackPathDescriptor() {
|
||||||
|
DynamicSpeedTrackPathDescriptor dynamicSpeedTrackPathDescriptor = new DynamicSpeedTrackPathDescriptor(
|
||||||
|
context);
|
||||||
|
dynamicSpeedTrackPathDescriptor.setAverageMovingSpeed(50);
|
||||||
|
dynamicSpeedTrackPathDescriptor.setSpeedMargin(10);
|
||||||
|
multiColorTrackPath = new MultiColorTrackPath(context, dynamicSpeedTrackPathDescriptor);
|
||||||
|
|
||||||
|
assertEquals(multiColorTrackPath.getSlowColor(), multiColorTrackPath.getColor(5));
|
||||||
|
assertEquals(multiColorTrackPath.getSlowColor(), multiColorTrackPath.getColor(44));
|
||||||
|
assertEquals(multiColorTrackPath.getNormalColor(), multiColorTrackPath.getColor(50));
|
||||||
|
assertEquals(multiColorTrackPath.getNormalColor(), multiColorTrackPath.getColor(54));
|
||||||
|
assertEquals(multiColorTrackPath.getFastColor(), multiColorTrackPath.getColor(56));
|
||||||
|
assertEquals(multiColorTrackPath.getFastColor(), multiColorTrackPath.getColor(100));
|
||||||
|
|
||||||
|
assertNotSame(multiColorTrackPath.getSlowColor(), multiColorTrackPath.getNormalColor());
|
||||||
|
assertNotSame(multiColorTrackPath.getSlowColor(), multiColorTrackPath.getFastColor());
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
Reference in New Issue
Block a user