diff options
Diffstat (limited to 'tests/src/cgeo/geocaching/utils/LazyInitializedListTest.java')
| -rw-r--r-- | tests/src/cgeo/geocaching/utils/LazyInitializedListTest.java | 32 |
1 files changed, 26 insertions, 6 deletions
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<String> { + @Override + protected List<String> loadFromDatabase() { + return new ArrayList<String>(); + } + } + public static void testAccess() { - final LazyInitializedList<String> list = new LazyInitializedList<String>() { - @Override - protected List<String> loadFromDatabase() { - return new ArrayList<String>(); - } - }; + final LazyInitializedList<String> 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<String> list = new MockedLazyInitializedList(); + list.set((LazyInitializedList<String>) null); + list.set((ArrayList<String>) 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); + } } |
