diff options
Diffstat (limited to 'tests/src/cgeo/geocaching/TrackablesTest.java')
| -rw-r--r-- | tests/src/cgeo/geocaching/TrackablesTest.java | 31 |
1 files changed, 31 insertions, 0 deletions
diff --git a/tests/src/cgeo/geocaching/TrackablesTest.java b/tests/src/cgeo/geocaching/TrackablesTest.java index 390e118..7760b10 100644 --- a/tests/src/cgeo/geocaching/TrackablesTest.java +++ b/tests/src/cgeo/geocaching/TrackablesTest.java @@ -1,6 +1,7 @@ package cgeo.geocaching; import cgeo.geocaching.test.R; +import cgeo.geocaching.utils.BaseUtils; import android.test.InstrumentationTestCase; @@ -25,8 +26,38 @@ public class TrackablesTest extends InstrumentationTestCase { assertEquals(0, tbLogs.size()); } + public void testTrackable() { + final cgTrackable trackable = getTB2R124(); + assertEquals("TB2R124", trackable.getGeocode()); + assertEquals("Bor. Dortmund - FC Schalke 04", trackable.getName()); + assertEquals("Spiridon Lui", trackable.getOwner()); + } + + public void testTrackableWithoutImage() { + final cgTrackable trackable = getTB2R124(); + assertNull(trackable.getImage()); + assertNotNull(trackable.getDetails()); + } + + public void testParseTrackableWithoutReleaseDate() { + cgTrackable trackable = cgBase.parseTrackable(getFileContent(R.raw.tb14wfv), null); + assertNotNull(trackable); + assertEquals("The Brickster", trackable.getName()); + assertEquals("Adrian C", trackable.getOwner()); + assertTrue(trackable.getGoal().startsWith("I'm on the run from the law.")); + assertTrue(trackable.getGoal().endsWith("what I've seen.")); + assertEquals(8451.9, trackable.getDistance(), 0.01); + // the next two items are normally available for trackables, but not for this one, so explicitly test for null + assertNull(trackable.getReleased()); + assertNull(trackable.getOrigin()); + } + private String getFileContent(int resourceId) { InputStream ins = getInstrumentation().getContext().getResources().openRawResource(resourceId); return new Scanner(ins).useDelimiter("\\A").next(); } + + private cgTrackable getTB2R124() { + return cgBase.parseTrackable(BaseUtils.replaceWhitespace(getFileContent(R.raw.trackable_tb2r124)), null); + } } |
