aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorSammysHP <sven@sammyshp.de>2014-05-23 20:53:52 +0200
committerSammysHP <sven@sammyshp.de>2014-05-23 20:53:52 +0200
commita6dbdfbf1a75aaf0e7496dda12562767b3c599a1 (patch)
treed794b68eb6f1b55e283aacfcc69f8abb5bac3c88
parent3a6ca3af524c847e04d92c7777b677cc9ab9c6a0 (diff)
downloadcgeo-a6dbdfbf1a75aaf0e7496dda12562767b3c599a1.zip
cgeo-a6dbdfbf1a75aaf0e7496dda12562767b3c599a1.tar.gz
cgeo-a6dbdfbf1a75aaf0e7496dda12562767b3c599a1.tar.bz2
Fix #3899: Units.getSpeed() returns uncommon string
-rw-r--r--main/src/cgeo/geocaching/geopoint/Units.java10
-rw-r--r--tests/src/cgeo/geocaching/geopoint/UnitsTest.java12
2 files changed, 11 insertions, 11 deletions
diff --git a/main/src/cgeo/geocaching/geopoint/Units.java b/main/src/cgeo/geocaching/geopoint/Units.java
index b99e00e..4d11a3b 100644
--- a/main/src/cgeo/geocaching/geopoint/Units.java
+++ b/main/src/cgeo/geocaching/geopoint/Units.java
@@ -51,11 +51,11 @@ public class Units {
return getDistanceFromKilometers(meters / 1000f);
}
- public static String getSpeed(float kilometersPerHour) {
- final String speed = getDistanceFromKilometers(kilometersPerHour);
- if (speed.endsWith("mi")) {
- return speed.substring(0, speed.length() - 2) + "mph";
+ public static String getSpeed(final float kilometersPerHour) {
+ if (Settings.isUseImperialUnits()) {
+ return String.format("%.0f mph", kilometersPerHour / IConversion.MILES_TO_KILOMETER);
+ } else {
+ return String.format("%.0f km/h", kilometersPerHour);
}
- return speed + (!Settings.isUseImperialUnits() ? "/h" : "ph");
}
}
diff --git a/tests/src/cgeo/geocaching/geopoint/UnitsTest.java b/tests/src/cgeo/geocaching/geopoint/UnitsTest.java
index acc964a..f208984 100644
--- a/tests/src/cgeo/geocaching/geopoint/UnitsTest.java
+++ b/tests/src/cgeo/geocaching/geopoint/UnitsTest.java
@@ -51,13 +51,13 @@ public class UnitsTest extends CGeoTestCase {
TestSettings.setUseImperialUnits(false);
assertSpeed("123 km/h", 122.782f);
assertSpeed("123 km/h", 123.456f);
- assertSpeed("12.3 km/h", 12.3456f);
- assertSpeed("1.23 km/h", 1.23456f);
- assertSpeed("123 m/h", 0.123456f);
+ assertSpeed("12 km/h", 12.3456f);
+ assertSpeed("1 km/h", 1.23456f);
+ assertSpeed("0 km/h", 0.123456f);
TestSettings.setUseImperialUnits(true);
- assertSpeed("76.7 mph", 123.456f);
- assertSpeed("7.67 mph", 12.3456f);
- assertSpeed("0.77 mph", 1.23456f);
+ assertSpeed("77 mph", 123.456f);
+ assertSpeed("8 mph", 12.3456f);
+ assertSpeed("1 mph", 1.23456f);
} finally {
TestSettings.setUseImperialUnits(savedImperial);
}