aboutsummaryrefslogtreecommitdiffstats
path: root/tests/src/cgeo/test/Compare.java
diff options
context:
space:
mode:
Diffstat (limited to 'tests/src/cgeo/test/Compare.java')
-rw-r--r--tests/src/cgeo/test/Compare.java57
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);
+ }
+ }
+
+}