diff options
| author | Bananeweizen <bananeweizen@gmx.de> | 2012-05-12 10:04:12 +0200 |
|---|---|---|
| committer | Bananeweizen <bananeweizen@gmx.de> | 2012-05-12 10:04:12 +0200 |
| commit | d6f51e67c3d812b3642a4f6dd7293fc0182ed724 (patch) | |
| tree | b6607036b7a5bb38e2748fb6ac25d332e37790b8 | |
| parent | 8e89bf354adc00fe40bed12b68a10fa21a3465a4 (diff) | |
| download | cgeo-d6f51e67c3d812b3642a4f6dd7293fc0182ed724.zip cgeo-d6f51e67c3d812b3642a4f6dd7293fc0182ed724.tar.gz cgeo-d6f51e67c3d812b3642a4f6dd7293fc0182ed724.tar.bz2 | |
fix new type parsing bug
* introduced in e4978ecfbdd755d585470cc963141e65966fe433
* added tests to avoid further similar issues
3 files changed, 23 insertions, 1 deletions
diff --git a/main/src/cgeo/geocaching/enumerations/CacheType.java b/main/src/cgeo/geocaching/enumerations/CacheType.java index 5db45fe..86ff2c6 100644 --- a/main/src/cgeo/geocaching/enumerations/CacheType.java +++ b/main/src/cgeo/geocaching/enumerations/CacheType.java @@ -54,7 +54,7 @@ public enum CacheType { final HashMap<String, CacheType> mappingPattern = new HashMap<String, CacheType>(); for (CacheType ct : values()) { mappingId.put(ct.id, ct); - mappingPattern.put(ct.pattern, ct); + mappingPattern.put(ct.pattern.toLowerCase(), ct); } FIND_BY_ID = Collections.unmodifiableMap(mappingId); FIND_BY_PATTERN = Collections.unmodifiableMap(mappingPattern); diff --git a/tests/src/cgeo/geocaching/enumerations/CacheSizeTest.java b/tests/src/cgeo/geocaching/enumerations/CacheSizeTest.java index fb0a16f..c872c9d 100644 --- a/tests/src/cgeo/geocaching/enumerations/CacheSizeTest.java +++ b/tests/src/cgeo/geocaching/enumerations/CacheSizeTest.java @@ -17,4 +17,11 @@ public class CacheSizeTest extends AndroidTestCase { assertEquals(CacheSize.LARGE, CacheSize.getById("large")); } + public static void testGetByIdComplete() { + for (CacheSize size : CacheSize.values()) { + assertEquals(size, CacheSize.getById(size.id)); + assertEquals(size, CacheSize.getById(size.id.toLowerCase())); + assertEquals(size, CacheSize.getById(size.id.toUpperCase())); + } + } } diff --git a/tests/src/cgeo/geocaching/enumerations/CacheTypeTest.java b/tests/src/cgeo/geocaching/enumerations/CacheTypeTest.java index 3ed949d..dd35669 100644 --- a/tests/src/cgeo/geocaching/enumerations/CacheTypeTest.java +++ b/tests/src/cgeo/geocaching/enumerations/CacheTypeTest.java @@ -18,4 +18,19 @@ public class CacheTypeTest extends AndroidTestCase { assertEquals(CacheType.CITO, CacheType.getByPattern("cache in trash out event")); } + public static void testGetByIdComplete() { + for (CacheType type : CacheType.values()) { + assertEquals(type, CacheType.getById(type.id)); + assertEquals(type, CacheType.getById(type.id.toLowerCase())); + assertEquals(type, CacheType.getById(type.id.toUpperCase())); + } + } + + public static void testGetByPatternComplete() { + for (CacheType type : CacheType.values()) { + assertEquals(type, CacheType.getByPattern(type.pattern)); + assertEquals(type, CacheType.getByPattern(type.pattern.toLowerCase())); + assertEquals(type, CacheType.getByPattern(type.pattern.toUpperCase())); + } + } } |
