From 5f983eef81e31207857eb8142b7d41f8bc511b46 Mon Sep 17 00:00:00 2001 From: Bananeweizen Date: Sun, 18 Nov 2012 10:19:52 +0100 Subject: fix #2167: Not possible to open OP caches --- .../geocaching/utils/LazyInitializedListTest.java | 32 ++++++++++++++++++---- 1 file changed, 26 insertions(+), 6 deletions(-) (limited to 'tests/src') diff --git a/tests/src/cgeo/geocaching/utils/LazyInitializedListTest.java b/tests/src/cgeo/geocaching/utils/LazyInitializedListTest.java index 1d0767e..b3eaedf 100644 --- a/tests/src/cgeo/geocaching/utils/LazyInitializedListTest.java +++ b/tests/src/cgeo/geocaching/utils/LazyInitializedListTest.java @@ -6,13 +6,16 @@ import java.util.List; import junit.framework.TestCase; public class LazyInitializedListTest extends TestCase { + + private static final class MockedLazyInitializedList extends LazyInitializedList { + @Override + protected List loadFromDatabase() { + return new ArrayList(); + } + } + public static void testAccess() { - final LazyInitializedList list = new LazyInitializedList() { - @Override - protected List loadFromDatabase() { - return new ArrayList(); - } - }; + final LazyInitializedList list = new MockedLazyInitializedList(); assertTrue(list.isEmpty()); list.add("Test"); assertFalse(list.isEmpty()); @@ -24,4 +27,21 @@ public class LazyInitializedListTest extends TestCase { } assertEquals(1, iterations); } + + public static void testNull() { + final LazyInitializedList list = new MockedLazyInitializedList(); + list.set((LazyInitializedList) null); + list.set((ArrayList) null); + } + + public static void testUnmodifiable() { + final MockedLazyInitializedList list = new MockedLazyInitializedList(); + boolean unsupported = false; + try { + list.asList().add("this is not possible"); + } catch (UnsupportedOperationException e) { + unsupported = true; + } + assertTrue(unsupported); + } } -- cgit v1.1