diff options
Diffstat (limited to 'tests/src/cgeo/geocaching/test/cgeoApplicationTest.java')
| -rw-r--r-- | tests/src/cgeo/geocaching/test/cgeoApplicationTest.java | 115 |
1 files changed, 115 insertions, 0 deletions
diff --git a/tests/src/cgeo/geocaching/test/cgeoApplicationTest.java b/tests/src/cgeo/geocaching/test/cgeoApplicationTest.java new file mode 100644 index 0000000..bc9585a --- /dev/null +++ b/tests/src/cgeo/geocaching/test/cgeoApplicationTest.java @@ -0,0 +1,115 @@ +package cgeo.geocaching.test; + +import java.util.ArrayList; +import java.util.HashMap; +import java.util.List; +import java.util.UUID; + +import junit.framework.Assert; +import android.content.Context; +import android.content.SharedPreferences; +import android.test.ApplicationTestCase; +import android.test.suitebuilder.annotation.MediumTest; +import android.test.suitebuilder.annotation.SmallTest; +import cgeo.geocaching.cgBase; +import cgeo.geocaching.cgCache; +import cgeo.geocaching.cgCacheWrap; +import cgeo.geocaching.cgSettings; +import cgeo.geocaching.cgeoapplication; +import cgeo.geocaching.test.mock.GC1ZXX2; +import cgeo.geocaching.test.mock.GC2CJPF; +import cgeo.geocaching.test.mock.MockedCache; + +/** + * The c:geo application test. It can be used for tests that require an + * application and/or context. + */ + +public class cgeoApplicationTest extends ApplicationTestCase<cgeoapplication> { + + private cgSettings settings = null; + private cgBase base = null; + + public cgeoApplicationTest() { + super(cgeoapplication.class); + } + + @Override + protected void setUp() throws Exception { + super.setUp(); + + // init environment + createApplication(); + Context context = this.getContext(); + SharedPreferences prefs = context.getSharedPreferences( + cgSettings.preferences, Context.MODE_PRIVATE); + + // create required c:geo objects + settings = new cgSettings(context, prefs); + base = new cgBase(this.getApplication(), settings, prefs); + } + + /** + * The name 'test preconditions' is a convention to signal that if this test + * doesn't pass, the test case was not set up properly and it might explain + * any and all failures in other tests. This is not guaranteed to run before + * other tests, as junit uses reflection to find the tests. + */ + @SmallTest + public void testPreconditions() { + } + + /** + * Test {@link cgBase#searchByGeocode(HashMap, int, boolean)} + * + * @param base + */ + @MediumTest + public void testSearchByGeocode() { + HashMap<String, String> params = new HashMap<String, String>(); + params.put("geocode", "GC1RMM2"); + + final UUID id = base.searchByGeocode(params, 0, true); + Assert.assertNotNull(id); + } + +/** +* Test {@link cgBase#parseCache(String, int) with "mocked" data +* @param base +*/ + @MediumTest + public void testParseCache() { + List<MockedCache> cachesToTest = new ArrayList<MockedCache>(); + cachesToTest.add(new GC2CJPF()); + cachesToTest.add(new GC1ZXX2()); + + for (MockedCache cache : cachesToTest) { + cgCacheWrap caches = base.parseCache(cache.getData(), 0); + cgCache cacheParsed = caches.cacheList.get(0); + Assert.assertEquals(cacheParsed.getGeocode(), cache.getGeocode()); + Assert.assertEquals(cacheParsed.getType(), cache.getType()); + Assert.assertEquals(cacheParsed.getOwner(), cache.getOwner()); + Assert.assertEquals(cacheParsed.getDifficulty(), cache + .getDifficulty()); + Assert.assertEquals(cacheParsed.getTerrain(), cache.getTerrain()); + Assert.assertEquals(cacheParsed.getLatitude(), cache.getLatitude()); + Assert.assertEquals(cacheParsed.getLongitude(), cache + .getLongitude()); + Assert.assertEquals(cacheParsed.isDisabled(), cache.isDisabled()); + Assert.assertEquals(cacheParsed.isOwn(), cache.isOwn()); + Assert.assertEquals(cacheParsed.isArchived(), cache.isArchived()); + Assert.assertEquals(cacheParsed.isMembersOnly(), cache + .isMembersOnly()); + Assert.assertEquals(cacheParsed.getOwnerReal(), cache + .getOwnerReal()); + Assert.assertEquals(cacheParsed.getSize(), cache.getSize()); + Assert.assertEquals(cacheParsed.getHint(), cache.getHint()); + Assert.assertTrue(cacheParsed.getDescription().startsWith( + cache.getDescription())); + Assert.assertEquals(cacheParsed.getShortDescription(), cache + .getShortDescription()); + Assert.assertEquals(cacheParsed.getName(), cache.getName()); + } + } + +} |
