/** * Copyright (c) 2005-2013 by Appcelerator, Inc. All Rights Reserved. * Licensed under the terms of the Eclipse Public License (EPL). * Please see the license.txt included with this distribution for details. * Any modifications to this file must keep this entire header intact. */ package org.python.pydev.core.structure; import java.util.Arrays; import java.util.Iterator; import java.util.List; import org.python.pydev.shared_core.structure.LowMemoryArrayList; import junit.framework.TestCase; /** * @author Fabio * */ public class LowMemoryArrayListTest extends TestCase { public void testArrayList() throws Exception { List<Integer> array = new LowMemoryArrayList<Integer>(); assertEquals(0, array.size()); assertTrue(array.isEmpty()); array.add(0); array.add(0, 1); array.add(1, 2); array.add(3); array.add(1); assertEquals(5, array.size()); assertFalse(array.isEmpty()); assertEquals(1, array.get(0).intValue()); assertEquals(2, array.get(1).intValue()); assertEquals(0, array.get(2).intValue()); assertEquals(3, array.get(3).intValue()); assertEquals(1, array.get(4).intValue()); assertFalse(array.contains(null)); assertTrue(array.contains(2)); assertEquals(0, array.indexOf(1)); assertEquals(4, array.lastIndexOf(1)); assertTrue(array.indexOf(5) < 0); assertTrue(array.lastIndexOf(5) < 0); array.remove(1); array.remove(1); assertEquals(3, array.size()); assertFalse(array.isEmpty()); assertEquals(1, array.get(0).intValue()); assertEquals(3, array.get(1).intValue()); assertEquals(1, array.get(2).intValue()); assertFalse(array.contains(null)); assertFalse(array.contains(2)); assertEquals(0, array.indexOf(1)); assertEquals(2, array.lastIndexOf(1)); assertTrue(array.indexOf(5) < 0); assertTrue(array.lastIndexOf(5) < 0); array.clear(); assertEquals(0, array.size()); assertTrue(array.isEmpty()); assertTrue(array.indexOf(5) < 0); assertTrue(array.lastIndexOf(5) < 0); List<Comparable<?>> al = new LowMemoryArrayList<Comparable<?>>(); assertFalse(al.remove(null)); assertFalse(al.remove("string")); al.add("string"); al.add(null); assertTrue(al.remove(null)); assertTrue(al.remove("string")); List<Integer> asList = Arrays.asList(1, 2); al = new LowMemoryArrayList<Comparable<?>>(); Iterator<Comparable<?>> iterator = al.iterator(); assertTrue(!iterator.hasNext()); al.addAll(asList); al.addAll(asList); assertEquals(1, al.get(0)); assertEquals(2, al.get(1)); assertEquals(1, al.get(2)); assertEquals(2, al.get(3)); iterator = al.iterator(); assertTrue(iterator.hasNext()); assertEquals(1, iterator.next()); assertTrue(iterator.hasNext()); assertEquals(2, iterator.next()); assertTrue(iterator.hasNext()); assertEquals(1, iterator.next()); assertTrue(iterator.hasNext()); assertEquals(2, iterator.next()); assertTrue(!iterator.hasNext()); } }