diff options
| author | Bananeweizen <bananeweizen@gmx.de> | 2012-02-21 08:03:28 +0100 |
|---|---|---|
| committer | Bananeweizen <bananeweizen@gmx.de> | 2012-02-21 08:03:28 +0100 |
| commit | 61b3c7758e4602495c8f356a832a10b2a4e59a2d (patch) | |
| tree | 6a5cab003328eb2c01aa887233de171a652a3186 | |
| parent | cfbf1b6507cf62382ccf71b04232fd6be963701c (diff) | |
| download | cgeo-61b3c7758e4602495c8f356a832a10b2a4e59a2d.zip cgeo-61b3c7758e4602495c8f356a832a10b2a4e59a2d.tar.gz cgeo-61b3c7758e4602495c8f356a832a10b2a4e59a2d.tar.bz2 | |
refactoring: code cleanup
* move human distance code to own class
* remove warning suppression
* fix several compiler warnings
| -rw-r--r-- | main/src/cgeo/geocaching/CacheDetailActivity.java | 5 | ||||
| -rw-r--r-- | main/src/cgeo/geocaching/cgBase.java | 38 | ||||
| -rw-r--r-- | main/src/cgeo/geocaching/cgeo.java | 3 | ||||
| -rw-r--r-- | main/src/cgeo/geocaching/cgeoaddresses.java | 3 | ||||
| -rw-r--r-- | main/src/cgeo/geocaching/cgeonavigate.java | 5 | ||||
| -rw-r--r-- | main/src/cgeo/geocaching/cgeopopup.java | 3 | ||||
| -rw-r--r-- | main/src/cgeo/geocaching/cgeotrackable.java | 3 | ||||
| -rw-r--r-- | main/src/cgeo/geocaching/enumerations/WaypointType.java | 1 | ||||
| -rw-r--r-- | main/src/cgeo/geocaching/geopoint/HumanDistance.java | 42 | ||||
| -rw-r--r-- | main/src/cgeo/geocaching/geopoint/Viewport.java | 1 | ||||
| -rw-r--r-- | main/src/cgeo/geocaching/ui/DistanceView.java | 6 | ||||
| -rw-r--r-- | tests/src/cgeo/geocaching/cgBaseTest.java | 84 | ||||
| -rw-r--r-- | tests/src/cgeo/geocaching/geopoint/HumanDistanceTest.java | 19 | ||||
| -rw-r--r-- | tests/src/cgeo/geocaching/test/mock/MockedCache.java | 13 |
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"; } |
