aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--main/src/cgeo/geocaching/CacheDetailActivity.java5
-rw-r--r--main/src/cgeo/geocaching/cgBase.java38
-rw-r--r--main/src/cgeo/geocaching/cgeo.java3
-rw-r--r--main/src/cgeo/geocaching/cgeoaddresses.java3
-rw-r--r--main/src/cgeo/geocaching/cgeonavigate.java5
-rw-r--r--main/src/cgeo/geocaching/cgeopopup.java3
-rw-r--r--main/src/cgeo/geocaching/cgeotrackable.java3
-rw-r--r--main/src/cgeo/geocaching/enumerations/WaypointType.java1
-rw-r--r--main/src/cgeo/geocaching/geopoint/HumanDistance.java42
-rw-r--r--main/src/cgeo/geocaching/geopoint/Viewport.java1
-rw-r--r--main/src/cgeo/geocaching/ui/DistanceView.java6
-rw-r--r--tests/src/cgeo/geocaching/cgBaseTest.java84
-rw-r--r--tests/src/cgeo/geocaching/geopoint/HumanDistanceTest.java19
-rw-r--r--tests/src/cgeo/geocaching/test/mock/MockedCache.java13
14 files changed, 125 insertions, 101 deletions
diff --git a/main/src/cgeo/geocaching/CacheDetailActivity.java b/main/src/cgeo/geocaching/CacheDetailActivity.java
index c24ea41..528b2e2 100644
--- a/main/src/cgeo/geocaching/CacheDetailActivity.java
+++ b/main/src/cgeo/geocaching/CacheDetailActivity.java
@@ -13,6 +13,7 @@ import cgeo.geocaching.enumerations.LoadFlags.RemoveFlag;
import cgeo.geocaching.enumerations.LogType;
import cgeo.geocaching.enumerations.WaypointType;
import cgeo.geocaching.geopoint.GeopointFormatter;
+import cgeo.geocaching.geopoint.HumanDistance;
import cgeo.geocaching.network.HtmlImage;
import cgeo.geocaching.network.Parameters;
import cgeo.geocaching.ui.DecryptTextClickListener;
@@ -690,7 +691,7 @@ public class CacheDetailActivity extends AbstractActivity {
StringBuilder dist = new StringBuilder();
if (geo.coordsNow != null && cache != null && cache.getCoords() != null) {
- dist.append(cgBase.getHumanDistance(geo.coordsNow.distanceTo(cache.getCoords())));
+ dist.append(HumanDistance.getHumanDistance(geo.coordsNow.distanceTo(cache.getCoords())));
}
if (cache != null && cache.getElevation() != null) {
@@ -1358,7 +1359,7 @@ public class CacheDetailActivity extends AbstractActivity {
}
// distance
- cacheDistanceView = addCacheDetail(R.string.cache_distance, cache.getDistance() != null ? "~" + cgBase.getHumanDistance(cache.getDistance()) : "--");
+ cacheDistanceView = addCacheDetail(R.string.cache_distance, cache.getDistance() != null ? "~" + HumanDistance.getHumanDistance(cache.getDistance()) : "--");
// difficulty
if (cache.getDifficulty() > 0) {
diff --git a/main/src/cgeo/geocaching/cgBase.java b/main/src/cgeo/geocaching/cgBase.java
index c03d45a..c88739c 100644
--- a/main/src/cgeo/geocaching/cgBase.java
+++ b/main/src/cgeo/geocaching/cgBase.java
@@ -19,7 +19,6 @@ import cgeo.geocaching.gcvote.GCVoteRating;
import cgeo.geocaching.geopoint.DistanceParser;
import cgeo.geocaching.geopoint.Geopoint;
import cgeo.geocaching.geopoint.GeopointFormatter.Format;
-import cgeo.geocaching.geopoint.IConversion;
import cgeo.geocaching.geopoint.Viewport;
import cgeo.geocaching.network.HtmlImage;
import cgeo.geocaching.network.Parameters;
@@ -1695,43 +1694,6 @@ public class cgBase {
return trackables;
}
- public static String getHumanDistance(final Float distanceKilometers) {
- if (distanceKilometers == null) {
- return "?";
- }
-
- if (Settings.isUseMetricUnits()) {
- if (distanceKilometers > 100) {
- return String.format("%d", Math.round(distanceKilometers)) + " km";
- } else if (distanceKilometers > 10) {
- return String.format("%.1f", Double.valueOf(Math.round(distanceKilometers * 10.0) / 10.0)) + " km";
- } else if (distanceKilometers > 1) {
- return String.format("%.2f", Double.valueOf(Math.round(distanceKilometers * 100.0) / 100.0)) + " km";
- } else if (distanceKilometers > 0.1) {
- return String.format("%d", Math.round(distanceKilometers * 1000.0)) + " m";
- } else if (distanceKilometers > 0.01) {
- return String.format("%.1f", Double.valueOf(Math.round(distanceKilometers * 1000.0 * 10.0) / 10.0)) + " m";
- } else {
- return String.format("%.2f", Double.valueOf(Math.round(distanceKilometers * 1000.0 * 100.0) / 100.0)) + " m";
- }
- } else {
- final float miles = distanceKilometers / IConversion.miles2km;
- if (distanceKilometers > 100) {
- return String.format("%d", Math.round(miles)) + " mi";
- } else if (distanceKilometers > 0.5) {
- return String.format("%.1f", Double.valueOf(Math.round(miles * 10.0) / 10.0)) + " mi";
- } else if (distanceKilometers > 0.1) {
- return String.format("%.2f", Double.valueOf(Math.round(miles * 100.0) / 100.0)) + " mi";
- } else if (distanceKilometers > 0.05) {
- return String.format("%d", Math.round(miles * 5280.0)) + " ft";
- } else if (distanceKilometers > 0.01) {
- return String.format("%.1f", Double.valueOf(Math.round(miles * 5280 * 10.0) / 10.0)) + " ft";
- } else {
- return String.format("%.2f", Double.valueOf(Math.round(miles * 5280 * 100.0) / 100.0)) + " ft";
- }
- }
- }
-
/**
* Insert the right cache type restriction in parameters
*
diff --git a/main/src/cgeo/geocaching/cgeo.java b/main/src/cgeo/geocaching/cgeo.java
index 6f2c758..c012f3a 100644
--- a/main/src/cgeo/geocaching/cgeo.java
+++ b/main/src/cgeo/geocaching/cgeo.java
@@ -8,6 +8,7 @@ import cgeo.geocaching.enumerations.LogType;
import cgeo.geocaching.enumerations.StatusCode;
import cgeo.geocaching.enumerations.WaypointType;
import cgeo.geocaching.geopoint.Geopoint;
+import cgeo.geocaching.geopoint.HumanDistance;
import cgeo.geocaching.maps.CGeoMap;
import org.apache.commons.collections.CollectionUtils;
@@ -599,7 +600,7 @@ public class cgeo extends AbstractActivity {
}
} else {
if (geo.altitudeNow != null) {
- final String humanAlt = cgBase.getHumanDistance(geo.altitudeNow.floatValue() / 1000);
+ final String humanAlt = HumanDistance.getHumanDistance(geo.altitudeNow.floatValue() / 1000);
navLocation.setText(geo.coordsNow + " | " + humanAlt);
} else {
navLocation.setText(geo.coordsNow.toString());
diff --git a/main/src/cgeo/geocaching/cgeoaddresses.java b/main/src/cgeo/geocaching/cgeoaddresses.java
index 27a3110..9170a4a 100644
--- a/main/src/cgeo/geocaching/cgeoaddresses.java
+++ b/main/src/cgeo/geocaching/cgeoaddresses.java
@@ -2,6 +2,7 @@ package cgeo.geocaching;
import cgeo.geocaching.activity.AbstractActivity;
import cgeo.geocaching.geopoint.Geopoint;
+import cgeo.geocaching.geopoint.HumanDistance;
import org.apache.commons.collections.CollectionUtils;
import org.apache.commons.lang3.StringUtils;
@@ -101,7 +102,7 @@ public class cgeoaddresses extends AbstractActivity {
if (lastLoc != null) {
if (address.hasLatitude() && address.hasLongitude()) {
- lines.add(cgBase.getHumanDistance(lastLoc.distanceTo(new Geopoint(address.getLatitude(), address.getLongitude()))));
+ lines.add(HumanDistance.getHumanDistance(lastLoc.distanceTo(new Geopoint(address.getLatitude(), address.getLongitude()))));
}
}
diff --git a/main/src/cgeo/geocaching/cgeonavigate.java b/main/src/cgeo/geocaching/cgeonavigate.java
index e5600a9..8540ff4 100644
--- a/main/src/cgeo/geocaching/cgeonavigate.java
+++ b/main/src/cgeo/geocaching/cgeonavigate.java
@@ -2,6 +2,7 @@ package cgeo.geocaching;
import cgeo.geocaching.activity.AbstractActivity;
import cgeo.geocaching.geopoint.Geopoint;
+import cgeo.geocaching.geopoint.HumanDistance;
import cgeo.geocaching.maps.CGeoMap;
import cgeo.geocaching.ui.CompassView;
@@ -329,7 +330,7 @@ public class cgeonavigate extends AbstractActivity {
}
cacheHeading = geo.coordsNow.bearingTo(dstCoords);
- distanceView.setText(cgBase.getHumanDistance(geo.coordsNow.distanceTo(dstCoords)));
+ distanceView.setText(HumanDistance.getHumanDistance(geo.coordsNow.distanceTo(dstCoords)));
headingView.setText(Math.round(cacheHeading) + "°");
}
@@ -372,7 +373,7 @@ public class cgeonavigate extends AbstractActivity {
}
if (geo.altitudeNow != null) {
- final String humanAlt = cgBase.getHumanDistance(geo.altitudeNow.floatValue() / 1000);
+ final String humanAlt = HumanDistance.getHumanDistance(geo.altitudeNow.floatValue() / 1000);
navLocation.setText(geo.coordsNow + " | " + humanAlt);
} else {
navLocation.setText(geo.coordsNow.toString());
diff --git a/main/src/cgeo/geocaching/cgeopopup.java b/main/src/cgeo/geocaching/cgeopopup.java
index 6e1af49..e7bf143 100644
--- a/main/src/cgeo/geocaching/cgeopopup.java
+++ b/main/src/cgeo/geocaching/cgeopopup.java
@@ -8,6 +8,7 @@ import cgeo.geocaching.enumerations.LoadFlags;
import cgeo.geocaching.enumerations.LogType;
import cgeo.geocaching.gcvote.GCVote;
import cgeo.geocaching.gcvote.GCVoteRating;
+import cgeo.geocaching.geopoint.HumanDistance;
import cgeo.geocaching.utils.CancellableHandler;
import org.apache.commons.lang3.StringUtils;
@@ -502,7 +503,7 @@ public class cgeopopup extends AbstractActivity {
try {
if (geo.coordsNow != null && cache != null && cache.getCoords() != null) {
- cacheDistance.setText(cgBase.getHumanDistance(geo.coordsNow.distanceTo(cache.getCoords())));
+ cacheDistance.setText(HumanDistance.getHumanDistance(geo.coordsNow.distanceTo(cache.getCoords())));
cacheDistance.bringToFront();
}
} catch (Exception e) {
diff --git a/main/src/cgeo/geocaching/cgeotrackable.java b/main/src/cgeo/geocaching/cgeotrackable.java
index 557d11a..e40e04f 100644
--- a/main/src/cgeo/geocaching/cgeotrackable.java
+++ b/main/src/cgeo/geocaching/cgeotrackable.java
@@ -1,6 +1,7 @@
package cgeo.geocaching;
import cgeo.geocaching.activity.AbstractActivity;
+import cgeo.geocaching.geopoint.HumanDistance;
import cgeo.geocaching.network.HtmlImage;
import org.apache.commons.lang3.StringUtils;
@@ -157,7 +158,7 @@ public class cgeotrackable extends AbstractActivity {
// trackable distance
if (trackable.getDistance() >= 0) {
- addDetail(R.string.trackable_distance, cgBase.getHumanDistance(trackable.getDistance()));
+ addDetail(R.string.trackable_distance, HumanDistance.getHumanDistance(trackable.getDistance()));
}
// trackable goal
diff --git a/main/src/cgeo/geocaching/enumerations/WaypointType.java b/main/src/cgeo/geocaching/enumerations/WaypointType.java
index 551ee19..78e5ceb 100644
--- a/main/src/cgeo/geocaching/enumerations/WaypointType.java
+++ b/main/src/cgeo/geocaching/enumerations/WaypointType.java
@@ -76,6 +76,7 @@ public enum WaypointType {
}
}
+ @Override
public final String toString() {
return getL10n();
}
diff --git a/main/src/cgeo/geocaching/geopoint/HumanDistance.java b/main/src/cgeo/geocaching/geopoint/HumanDistance.java
new file mode 100644
index 0000000..7ae2684
--- /dev/null
+++ b/main/src/cgeo/geocaching/geopoint/HumanDistance.java
@@ -0,0 +1,42 @@
+package cgeo.geocaching.geopoint;
+
+import cgeo.geocaching.Settings;
+
+public class HumanDistance {
+ public static String getHumanDistance(final Float distanceKilometers) {
+ if (distanceKilometers == null) {
+ return "?";
+ }
+
+ if (Settings.isUseMetricUnits()) {
+ if (distanceKilometers > 100) {
+ return String.format("%d", Math.round(distanceKilometers)) + " km";
+ } else if (distanceKilometers > 10) {
+ return String.format("%.1f", Double.valueOf(Math.round(distanceKilometers * 10.0) / 10.0)) + " km";
+ } else if (distanceKilometers > 1) {
+ return String.format("%.2f", Double.valueOf(Math.round(distanceKilometers * 100.0) / 100.0)) + " km";
+ } else if (distanceKilometers > 0.1) {
+ return String.format("%d", Math.round(distanceKilometers * 1000.0)) + " m";
+ } else if (distanceKilometers > 0.01) {
+ return String.format("%.1f", Double.valueOf(Math.round(distanceKilometers * 1000.0 * 10.0) / 10.0)) + " m";
+ } else {
+ return String.format("%.2f", Double.valueOf(Math.round(distanceKilometers * 1000.0 * 100.0) / 100.0)) + " m";
+ }
+ } else {
+ final float miles = distanceKilometers / IConversion.miles2km;
+ if (distanceKilometers > 100) {
+ return String.format("%d", Math.round(miles)) + " mi";
+ } else if (distanceKilometers > 0.5) {
+ return String.format("%.1f", Double.valueOf(Math.round(miles * 10.0) / 10.0)) + " mi";
+ } else if (distanceKilometers > 0.1) {
+ return String.format("%.2f", Double.valueOf(Math.round(miles * 100.0) / 100.0)) + " mi";
+ } else if (distanceKilometers > 0.05) {
+ return String.format("%d", Math.round(miles * 5280.0)) + " ft";
+ } else if (distanceKilometers > 0.01) {
+ return String.format("%.1f", Double.valueOf(Math.round(miles * 5280 * 10.0) / 10.0)) + " ft";
+ } else {
+ return String.format("%.2f", Double.valueOf(Math.round(miles * 5280 * 100.0) / 100.0)) + " ft";
+ }
+ }
+ }
+}
diff --git a/main/src/cgeo/geocaching/geopoint/Viewport.java b/main/src/cgeo/geocaching/geopoint/Viewport.java
index 71508c3..2b76624 100644
--- a/main/src/cgeo/geocaching/geopoint/Viewport.java
+++ b/main/src/cgeo/geocaching/geopoint/Viewport.java
@@ -33,6 +33,7 @@ public class Viewport {
return topRight.getLongitude();
}
+ @Override
public String toString() {
return "(" + bottomLeft.toString() + "," + topRight.toString() + ")";
}
diff --git a/main/src/cgeo/geocaching/ui/DistanceView.java b/main/src/cgeo/geocaching/ui/DistanceView.java
index 49c90b7..83de4aa 100644
--- a/main/src/cgeo/geocaching/ui/DistanceView.java
+++ b/main/src/cgeo/geocaching/ui/DistanceView.java
@@ -1,7 +1,7 @@
package cgeo.geocaching.ui;
-import cgeo.geocaching.cgBase;
import cgeo.geocaching.geopoint.Geopoint;
+import cgeo.geocaching.geopoint.HumanDistance;
import android.content.Context;
import android.util.AttributeSet;
@@ -30,11 +30,11 @@ public class DistanceView extends TextView {
if (cacheCoords == null || coords == null) {
return;
}
- setText(cgBase.getHumanDistance(coords.distanceTo(cacheCoords)));
+ setText(HumanDistance.getHumanDistance(coords.distanceTo(cacheCoords)));
}
public void setDistance(Float distance) {
- setText("~" + cgBase.getHumanDistance(distance));
+ setText("~" + HumanDistance.getHumanDistance(distance));
}
public void clear() {
diff --git a/tests/src/cgeo/geocaching/cgBaseTest.java b/tests/src/cgeo/geocaching/cgBaseTest.java
index 55c7daa..e91005c 100644
--- a/tests/src/cgeo/geocaching/cgBaseTest.java
+++ b/tests/src/cgeo/geocaching/cgBaseTest.java
@@ -15,68 +15,66 @@ import android.test.suitebuilder.annotation.MediumTest;
import java.util.ArrayList;
-import junit.framework.Assert;
-
public class cgBaseTest extends AndroidTestCase {
public static void testRegEx() {
String page = MockedCache.readCachePage("GC2CJPF");
- Assert.assertEquals("blafoo", BaseUtils.getMatch(page, GCConstants.PATTERN_LOGIN_NAME, true, "???"));
+ assertEquals("blafoo", BaseUtils.getMatch(page, GCConstants.PATTERN_LOGIN_NAME, true, "???"));
// TODO blafoo reactivate
- // Assert.assertEquals("Premium Member", BaseUtils.getMatch(page, GCConstants.PATTERN_MEMBER_STATUS, true, "???"));
+ // assertEquals("Premium Member", BaseUtils.getMatch(page, GCConstants.PATTERN_MEMBER_STATUS, true, "???"));
int cachesFound = Integer.parseInt(BaseUtils.getMatch(page, GCConstants.PATTERN_CACHES_FOUND, true, "0"));
- Assert.assertTrue(cachesFound >= 491);
+ assertTrue(cachesFound >= 491);
}
public static void testReplaceWhitespaces() {
- Assert.assertEquals("foo bar baz ", BaseUtils.replaceWhitespace(new String(" foo\n\tbar \r baz ")));
+ assertEquals("foo bar baz ", BaseUtils.replaceWhitespace(new String(" foo\n\tbar \r baz ")));
}
public static void testElevation() {
- Assert.assertEquals(125.663703918457, cgBase.getElevation(new Geopoint(48.0, 2.0)), 0.1);
+ assertEquals(125.663703918457, cgBase.getElevation(new Geopoint(48.0, 2.0)), 0.1);
}
public static void testCompareCaches(ICache expected, cgCache actual) {
- Assert.assertEquals(expected.getGeocode(), actual.getGeocode());
- Assert.assertTrue(expected.getType() == actual.getType());
- Assert.assertEquals(expected.getOwner(), actual.getOwner());
- Assert.assertEquals(expected.getDifficulty(), actual.getDifficulty());
- Assert.assertEquals(expected.getTerrain(), actual.getTerrain());
- Assert.assertEquals(expected.getLatitude(), actual.getLatitude());
- Assert.assertEquals(expected.getLongitude(), actual.getLongitude());
+ assertEquals(expected.getGeocode(), actual.getGeocode());
+ assertTrue(expected.getType() == actual.getType());
+ assertEquals(expected.getOwner(), actual.getOwner());
+ assertEquals(expected.getDifficulty(), actual.getDifficulty());
+ assertEquals(expected.getTerrain(), actual.getTerrain());
+ assertEquals(expected.getLatitude(), actual.getLatitude());
+ assertEquals(expected.getLongitude(), actual.getLongitude());
assertTrue(actual.isReliableLatLon());
- Assert.assertEquals(expected.isDisabled(), actual.isDisabled());
- Assert.assertEquals(expected.isOwn(), actual.isOwn());
- Assert.assertEquals(expected.isArchived(), actual.isArchived());
- Assert.assertEquals(expected.isPremiumMembersOnly(), actual.isPremiumMembersOnly());
- Assert.assertEquals(expected.getOwnerReal(), actual.getOwnerReal());
- Assert.assertEquals(expected.getSize(), actual.getSize());
- Assert.assertEquals(expected.getHint(), actual.getHint());
- Assert.assertTrue(actual.getDescription().startsWith(expected.getDescription()));
- Assert.assertEquals(expected.getShortDescription(), actual.getShortDescription());
- Assert.assertEquals(expected.getName(), actual.getName());
- Assert.assertEquals(expected.getCacheId(), actual.getCacheId());
- Assert.assertEquals(expected.getGuid(), actual.getGuid());
- Assert.assertEquals(expected.getLocation(), actual.getLocation());
- Assert.assertEquals(expected.getPersonalNote(), actual.getPersonalNote());
- Assert.assertEquals(expected.isFound(), actual.isFound());
- Assert.assertEquals(expected.isFavorite(), actual.isFavorite());
+ assertEquals(expected.isDisabled(), actual.isDisabled());
+ assertEquals(expected.isOwn(), actual.isOwn());
+ assertEquals(expected.isArchived(), actual.isArchived());
+ assertEquals(expected.isPremiumMembersOnly(), actual.isPremiumMembersOnly());
+ assertEquals(expected.getOwnerReal(), actual.getOwnerReal());
+ assertEquals(expected.getSize(), actual.getSize());
+ assertEquals(expected.getHint(), actual.getHint());
+ assertTrue(actual.getDescription().startsWith(expected.getDescription()));
+ assertEquals(expected.getShortDescription(), actual.getShortDescription());
+ assertEquals(expected.getName(), actual.getName());
+ assertEquals(expected.getCacheId(), actual.getCacheId());
+ assertEquals(expected.getGuid(), actual.getGuid());
+ assertEquals(expected.getLocation(), actual.getLocation());
+ assertEquals(expected.getPersonalNote(), actual.getPersonalNote());
+ assertEquals(expected.isFound(), actual.isFound());
+ assertEquals(expected.isFavorite(), actual.isFavorite());
System.out.println(expected.getFavoritePoints() + " " + actual.getFavoritePoints());
- Assert.assertTrue(expected.getFavoritePoints() <= actual.getFavoritePoints());
- Assert.assertEquals(expected.isWatchlist(), actual.isWatchlist());
- Assert.assertEquals(expected.getHiddenDate().toString(), actual.getHiddenDate().toString());
+ assertTrue(expected.getFavoritePoints() <= actual.getFavoritePoints());
+ assertEquals(expected.isWatchlist(), actual.isWatchlist());
+ assertEquals(expected.getHiddenDate().toString(), actual.getHiddenDate().toString());
for (String attribute : expected.getAttributes()) {
- Assert.assertTrue(actual.getAttributes().contains(attribute));
+ assertTrue(actual.getAttributes().contains(attribute));
}
for (LogType logType : expected.getLogCounts().keySet()) {
- Assert.assertTrue(actual.getLogCounts().get(logType) >= expected.getLogCounts().get(logType));
+ assertTrue(actual.getLogCounts().get(logType) >= expected.getLogCounts().get(logType));
}
// the inventory can differ to often, therefore we don't compare them
int actualSpoilersSize = null != actual.getSpoilers() ? actual.getSpoilers().size() : 0;
int expectedSpoilersSize = null != expected.getSpoilers() ? expected.getSpoilers().size() : 0;
- Assert.assertEquals(expectedSpoilersSize, actualSpoilersSize);
+ assertEquals(expectedSpoilersSize, actualSpoilersSize);
}
/**
@@ -88,7 +86,7 @@ public class cgBaseTest extends AndroidTestCase {
String gcCustomDate = Settings.getGcCustomDate();
for (MockedCache mockedCache : RegExPerformanceTest.MOCKED_CACHES) {
// to get the same results we have to use the date format used when the mocked data was created
- Settings.setGcCustomDate(mockedCache.getDateFormat());
+ Settings.setGcCustomDate(MockedCache.getDateFormat());
SearchResult searchResult = cgBase.parseCacheFromText(mockedCache.getData(), 0, null);
cgCache parsedCache = searchResult.getFirstCacheFromResult(LoadFlags.LOAD_CACHE_OR_DB);
assertTrue(StringUtils.isNotBlank(mockedCache.getMockedDataUser()));
@@ -97,16 +95,6 @@ public class cgBaseTest extends AndroidTestCase {
Settings.setGcCustomDate(gcCustomDate);
}
- public static void testHumanDistance() {
- assertEquals("?", cgBase.getHumanDistance(null));
- if (Settings.isUseMetricUnits()) {
- assertEquals("123 km", cgBase.getHumanDistance(123.456f));
- }
- else {
- assertEquals("77 mi", cgBase.getHumanDistance(123.456f));
- }
- }
-
public static void testWaypointsFromNote() {
final cgCache cache = cgBaseTest.createCache(0);
assertNotNull(cache);
@@ -158,7 +146,7 @@ public class cgBaseTest extends AndroidTestCase {
public static cgCache createCache(int index) {
final MockedCache mockedCache = RegExPerformanceTest.MOCKED_CACHES.get(index);
// to get the same results we have to use the date format used when the mocked data was created
- Settings.setGcCustomDate(mockedCache.getDateFormat());
+ Settings.setGcCustomDate(MockedCache.getDateFormat());
final SearchResult searchResult = cgBase.parseCacheFromText(mockedCache.getData(), 0, null);
return searchResult.getFirstCacheFromResult(LoadFlags.LOAD_CACHE_OR_DB);
}
diff --git a/tests/src/cgeo/geocaching/geopoint/HumanDistanceTest.java b/tests/src/cgeo/geocaching/geopoint/HumanDistanceTest.java
new file mode 100644
index 0000000..3c7cb98
--- /dev/null
+++ b/tests/src/cgeo/geocaching/geopoint/HumanDistanceTest.java
@@ -0,0 +1,19 @@
+package cgeo.geocaching.geopoint;
+
+import cgeo.geocaching.Settings;
+
+import android.test.AndroidTestCase;
+
+public class HumanDistanceTest extends AndroidTestCase {
+
+ public static void testHumanDistance() {
+ assertEquals("?", HumanDistance.getHumanDistance(null));
+ if (Settings.isUseMetricUnits()) {
+ assertEquals("123 km", HumanDistance.getHumanDistance(123.456f));
+ assertEquals("123 m", HumanDistance.getHumanDistance(0.123456f));
+ }
+ else {
+ assertEquals("77 mi", HumanDistance.getHumanDistance(123.456f));
+ }
+ }
+}
diff --git a/tests/src/cgeo/geocaching/test/mock/MockedCache.java b/tests/src/cgeo/geocaching/test/mock/MockedCache.java
index 3baf79c..83c3bc9 100644
--- a/tests/src/cgeo/geocaching/test/mock/MockedCache.java
+++ b/tests/src/cgeo/geocaching/test/mock/MockedCache.java
@@ -8,17 +8,21 @@ import cgeo.geocaching.geopoint.Geopoint;
import cgeo.geocaching.geopoint.GeopointFormatter;
import cgeo.geocaching.utils.BaseUtils;
+import org.apache.commons.lang3.StringUtils;
+
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.util.List;
+import junit.framework.Assert;
+
public abstract class MockedCache implements ICache {
final protected Geopoint coords;
- String data;
- String mockedDataUser;
+ private String data;
+ private String mockedDataUser;
protected MockedCache(final Geopoint coords) {
this.coords = coords;
@@ -28,15 +32,16 @@ public abstract class MockedCache implements ICache {
}
public String getMockedDataUser() {
+ Assert.assertTrue(StringUtils.isNotBlank(this.mockedDataUser));
return mockedDataUser;
}
public void setMockedDataUser(String mockedDataUser) {
this.mockedDataUser = mockedDataUser;
+ Assert.assertTrue(StringUtils.isNotBlank(this.mockedDataUser));
}
- @SuppressWarnings("static-method")
- public String getDateFormat() {
+ public static String getDateFormat() {
return "dd/MM/yyyy";
}