diff options
Diffstat (limited to 'tests/src/cgeo/test/Compare.java')
| -rw-r--r-- | tests/src/cgeo/test/Compare.java | 57 |
1 files changed, 57 insertions, 0 deletions
diff --git a/tests/src/cgeo/test/Compare.java b/tests/src/cgeo/test/Compare.java new file mode 100644 index 0000000..432f4e4 --- /dev/null +++ b/tests/src/cgeo/test/Compare.java @@ -0,0 +1,57 @@ +package cgeo.test; + +import static junit.framework.Assert.assertEquals; +import static junit.framework.Assert.assertTrue; + +import cgeo.geocaching.ICache; +import cgeo.geocaching.cgCache; +import cgeo.geocaching.enumerations.LogType; + +public abstract class Compare { + + public static void assertCompareCaches(ICache expected, cgCache actual, boolean all) { + 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.isDisabled(), actual.isDisabled()); + assertEquals(expected.isArchived(), actual.isArchived()); + assertEquals(expected.getSize(), actual.getSize()); + assertEquals(expected.getName(), actual.getName()); + assertEquals(expected.getGuid(), actual.getGuid()); + assertTrue(expected.getFavoritePoints() <= actual.getFavoritePoints()); + assertEquals(expected.getHiddenDate().toString(), actual.getHiddenDate().toString()); + assertEquals(expected.isPremiumMembersOnly(), actual.isPremiumMembersOnly()); + + if (all) { + assertEquals(expected.getCoords(), actual.getCoords()); + assertTrue(actual.isReliableLatLon()); + assertEquals(expected.isOwn(), actual.isOwn()); + assertEquals(expected.getOwnerReal(), actual.getOwnerReal()); + assertEquals(expected.getHint(), actual.getHint()); + assertTrue(actual.getDescription().startsWith(expected.getDescription())); + assertEquals(expected.getShortDescription(), actual.getShortDescription()); + assertEquals(expected.getCacheId(), actual.getCacheId()); + assertEquals(expected.getLocation(), actual.getLocation()); + assertEquals(expected.getPersonalNote(), actual.getPersonalNote()); + assertEquals(expected.isFound(), actual.isFound()); + assertEquals(expected.isFavorite(), actual.isFavorite()); + assertEquals(expected.isWatchlist(), actual.isWatchlist()); + + for (String attribute : expected.getAttributes()) { + assertTrue(actual.getAttributes().contains(attribute)); + } + for (LogType logType : expected.getLogCounts().keySet()) { + 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; + assertEquals(expectedSpoilersSize, actualSpoilersSize); + } + } + +} |
