/* * $Id$ * This file is a part of the Arakhne Foundation Classes, http://www.arakhne.org/afc * * Copyright (c) 2000-2012 Stephane GALLAND. * Copyright (c) 2005-10, Multiagent Team, Laboratoire Systemes et Transports, * Universite de Technologie de Belfort-Montbeliard. * Copyright (c) 2013-2016 The original authors, and other authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ package org.arakhne.afc.util; import static org.junit.Assert.assertEquals; import static org.junit.Assert.assertFalse; import static org.junit.Assert.assertNotNull; import static org.junit.Assert.assertNotSame; import static org.junit.Assert.assertNull; import static org.junit.Assert.assertSame; import static org.junit.Assert.assertTrue; import java.util.Arrays; import java.util.Collections; import java.util.Iterator; import java.util.List; import java.util.ListIterator; import java.util.SortedSet; import java.util.TreeSet; import org.arakhne.afc.util.IntegerList.IntegerSegment; import org.junit.After; import org.junit.Before; import org.junit.Test; /** * @author $Author: sgalland$ * @version $FullVersion$ * @mavengroupid $GroupId$ * @mavenartifactid $ArtifactId$ * @since 4.0 */ public class IntegerListTest { private IntegerList list; /** * @throws Exception */ @Before public void setUp() throws Exception { this.list = new IntegerList(); this.list.add(1); this.list.add(2); this.list.add(3); this.list.add(10); this.list.add(20); this.list.add(21); this.list.add(22); this.list.add(23); this.list.add(24); this.list.add(25); } /** * @throws Exception */ @After public void tearDown() throws Exception { this.list = null; } /** */ @Test public void comparator() { assertNull(this.list.comparator()); } /** */ @Test public void getLastValueOnSegmentInt() { assertEquals(3, this.list.getLastValueOnSegment(0)); assertEquals(10, this.list.getLastValueOnSegment(2)); assertEquals(25, this.list.getLastValueOnSegment(4)); } /** */ @Test public void getFirstValueOnSegmentInt() { assertEquals(1, this.list.getFirstValueOnSegment(0)); assertEquals(10, this.list.getFirstValueOnSegment(2)); assertEquals(20, this.list.getFirstValueOnSegment(4)); } /** */ @Test public void getSegmentIndexForInt() { assertEquals(-1, this.list.getSegmentIndexFor(0)); assertEquals(0, this.list.getSegmentIndexFor(1)); assertEquals(0, this.list.getSegmentIndexFor(2)); assertEquals(0, this.list.getSegmentIndexFor(3)); assertEquals(-1, this.list.getSegmentIndexFor(4)); assertEquals(-1, this.list.getSegmentIndexFor(5)); assertEquals(-1, this.list.getSegmentIndexFor(6)); assertEquals(-1, this.list.getSegmentIndexFor(7)); assertEquals(-1, this.list.getSegmentIndexFor(8)); assertEquals(-1, this.list.getSegmentIndexFor(9)); assertEquals(2, this.list.getSegmentIndexFor(10)); assertEquals(-1, this.list.getSegmentIndexFor(11)); assertEquals(-1, this.list.getSegmentIndexFor(12)); assertEquals(-1, this.list.getSegmentIndexFor(13)); assertEquals(-1, this.list.getSegmentIndexFor(14)); assertEquals(-1, this.list.getSegmentIndexFor(15)); assertEquals(-1, this.list.getSegmentIndexFor(16)); assertEquals(-1, this.list.getSegmentIndexFor(17)); assertEquals(-1, this.list.getSegmentIndexFor(18)); assertEquals(-1, this.list.getSegmentIndexFor(19)); assertEquals(4, this.list.getSegmentIndexFor(20)); assertEquals(4, this.list.getSegmentIndexFor(21)); assertEquals(4, this.list.getSegmentIndexFor(22)); assertEquals(4, this.list.getSegmentIndexFor(23)); assertEquals(4, this.list.getSegmentIndexFor(24)); assertEquals(4, this.list.getSegmentIndexFor(25)); assertEquals(-1, this.list.getSegmentIndexFor(26)); assertEquals(-1, this.list.getSegmentIndexFor(27)); assertEquals(-1, this.list.getSegmentIndexFor(28)); assertEquals(-1, this.list.getSegmentIndexFor(29)); assertEquals(-1, this.list.getSegmentIndexFor(30)); } /** */ @Test public void removeElementInSegmentIntInt() { Iterator<Integer> i; assertFalse(this.list.removeElementInSegment(2, 11)); assertTrue(this.list.removeElementInSegment(2, 10)); i = this.list.iterator(); assertTrue(i.hasNext()); assertEquals(Integer.valueOf(1), i.next()); assertTrue(i.hasNext()); assertEquals(Integer.valueOf(2), i.next()); assertTrue(i.hasNext()); assertEquals(Integer.valueOf(3), i.next()); assertTrue(i.hasNext()); assertEquals(Integer.valueOf(20), i.next()); assertTrue(i.hasNext()); assertEquals(Integer.valueOf(21), i.next()); assertTrue(i.hasNext()); assertEquals(Integer.valueOf(22), i.next()); assertTrue(i.hasNext()); assertEquals(Integer.valueOf(23), i.next()); assertTrue(i.hasNext()); assertEquals(Integer.valueOf(24), i.next()); assertTrue(i.hasNext()); assertEquals(Integer.valueOf(25), i.next()); assertFalse(i.hasNext()); } /** */ @Test public void size() { assertEquals(10, this.list.size()); assertTrue(this.list.add(Integer.valueOf(34))); assertEquals(11, this.list.size()); assertFalse(this.list.add(Integer.valueOf(34))); assertEquals(11, this.list.size()); assertTrue(this.list.remove(Integer.valueOf(1))); assertEquals(10, this.list.size()); } /** */ @Test public void addIntInteger() { addInteger(); } /** */ @Test public void addAllIntCollection() { addAllCollection(); } /** */ @Test public void addInteger() { Iterator<Integer> i; this.list.add(4); i = this.list.iterator(); assertEquals(Integer.valueOf(1), i.next()); assertEquals(Integer.valueOf(2), i.next()); assertEquals(Integer.valueOf(3), i.next()); assertEquals(Integer.valueOf(4), i.next()); assertEquals(Integer.valueOf(10), i.next()); assertEquals(Integer.valueOf(20), i.next()); assertEquals(Integer.valueOf(21), i.next()); assertEquals(Integer.valueOf(22), i.next()); assertEquals(Integer.valueOf(23), i.next()); assertEquals(Integer.valueOf(24), i.next()); assertEquals(Integer.valueOf(25), i.next()); this.list.add(100); i = this.list.iterator(); assertEquals(Integer.valueOf(1), i.next()); assertEquals(Integer.valueOf(2), i.next()); assertEquals(Integer.valueOf(3), i.next()); assertEquals(Integer.valueOf(4), i.next()); assertEquals(Integer.valueOf(10), i.next()); assertEquals(Integer.valueOf(20), i.next()); assertEquals(Integer.valueOf(21), i.next()); assertEquals(Integer.valueOf(22), i.next()); assertEquals(Integer.valueOf(23), i.next()); assertEquals(Integer.valueOf(24), i.next()); assertEquals(Integer.valueOf(25), i.next()); assertEquals(Integer.valueOf(100), i.next()); this.list.add(-10); i = this.list.iterator(); assertEquals(Integer.valueOf(-10), i.next()); assertEquals(Integer.valueOf(1), i.next()); assertEquals(Integer.valueOf(2), i.next()); assertEquals(Integer.valueOf(3), i.next()); assertEquals(Integer.valueOf(4), i.next()); assertEquals(Integer.valueOf(10), i.next()); assertEquals(Integer.valueOf(20), i.next()); assertEquals(Integer.valueOf(21), i.next()); assertEquals(Integer.valueOf(22), i.next()); assertEquals(Integer.valueOf(23), i.next()); assertEquals(Integer.valueOf(24), i.next()); assertEquals(Integer.valueOf(25), i.next()); assertEquals(Integer.valueOf(100), i.next()); this.list.add(5); this.list.add(9); this.list.add(8); this.list.add(6); this.list.add(7); i = this.list.iterator(); assertEquals(Integer.valueOf(-10), i.next()); assertEquals(Integer.valueOf(1), i.next()); assertEquals(Integer.valueOf(2), i.next()); assertEquals(Integer.valueOf(3), i.next()); assertEquals(Integer.valueOf(4), i.next()); assertEquals(Integer.valueOf(5), i.next()); assertEquals(Integer.valueOf(6), i.next()); assertEquals(Integer.valueOf(7), i.next()); assertEquals(Integer.valueOf(8), i.next()); assertEquals(Integer.valueOf(9), i.next()); assertEquals(Integer.valueOf(10), i.next()); assertEquals(Integer.valueOf(20), i.next()); assertEquals(Integer.valueOf(21), i.next()); assertEquals(Integer.valueOf(22), i.next()); assertEquals(Integer.valueOf(23), i.next()); assertEquals(Integer.valueOf(24), i.next()); assertEquals(Integer.valueOf(25), i.next()); assertEquals(Integer.valueOf(100), i.next()); } /** */ @Test public void first() { assertEquals(Integer.valueOf(1), this.list.first()); } /** */ @Test public void headSetInteger() { SortedSet<Integer> s; Iterator<Integer> i; s = this.list.headSet(1); assertTrue(s.isEmpty()); s = this.list.headSet(5); assertEquals(3, s.size()); i = s.iterator(); assertEquals(Integer.valueOf(1), i.next()); assertEquals(Integer.valueOf(2), i.next()); assertEquals(Integer.valueOf(3), i.next()); s = this.list.headSet(21); assertEquals(5, s.size()); i = s.iterator(); assertEquals(Integer.valueOf(1), i.next()); assertEquals(Integer.valueOf(2), i.next()); assertEquals(Integer.valueOf(3), i.next()); assertEquals(Integer.valueOf(10), i.next()); assertEquals(Integer.valueOf(20), i.next()); } /** */ @Test public void last() { assertEquals(Integer.valueOf(25), this.list.last()); } /** */ @Test public void subSetIntegerInteger() { SortedSet<Integer> s; Iterator<Integer> i; s = this.list.subSet(0, 1); assertTrue(s.isEmpty()); s = this.list.subSet(0, 10); assertEquals(3, s.size()); i = s.iterator(); assertEquals(Integer.valueOf(1), i.next()); assertEquals(Integer.valueOf(2), i.next()); assertEquals(Integer.valueOf(3), i.next()); s = this.list.subSet(0, 21); assertEquals(5, s.size()); i = s.iterator(); assertEquals(Integer.valueOf(1), i.next()); assertEquals(Integer.valueOf(2), i.next()); assertEquals(Integer.valueOf(3), i.next()); assertEquals(Integer.valueOf(10), i.next()); assertEquals(Integer.valueOf(20), i.next()); s = this.list.subSet(3, 21); assertEquals(3, s.size()); i = s.iterator(); assertEquals(Integer.valueOf(3), i.next()); assertEquals(Integer.valueOf(10), i.next()); assertEquals(Integer.valueOf(20), i.next()); s = this.list.subSet(10, 21); assertEquals(2, s.size()); i = s.iterator(); assertEquals(Integer.valueOf(10), i.next()); assertEquals(Integer.valueOf(20), i.next()); } /** */ @Test public void tailSetInteger() { SortedSet<Integer> s; Iterator<Integer> i; s = this.list.tailSet(30); assertTrue(s.isEmpty()); s = this.list.tailSet(21); assertEquals(5, s.size()); i = s.iterator(); assertEquals(Integer.valueOf(21), i.next()); assertEquals(Integer.valueOf(22), i.next()); assertEquals(Integer.valueOf(23), i.next()); assertEquals(Integer.valueOf(24), i.next()); assertEquals(Integer.valueOf(25), i.next()); s = this.list.tailSet(4); assertEquals(7, s.size()); i = s.iterator(); assertEquals(Integer.valueOf(10), i.next()); assertEquals(Integer.valueOf(20), i.next()); assertEquals(Integer.valueOf(21), i.next()); assertEquals(Integer.valueOf(22), i.next()); assertEquals(Integer.valueOf(23), i.next()); assertEquals(Integer.valueOf(24), i.next()); assertEquals(Integer.valueOf(25), i.next()); } /** */ @Test public void addAllCollection() { Iterator<Integer> i; this.list.addAll(Collections.singleton(4)); i = this.list.iterator(); assertEquals(Integer.valueOf(1), i.next()); assertEquals(Integer.valueOf(2), i.next()); assertEquals(Integer.valueOf(3), i.next()); assertEquals(Integer.valueOf(4), i.next()); assertEquals(Integer.valueOf(10), i.next()); assertEquals(Integer.valueOf(20), i.next()); assertEquals(Integer.valueOf(21), i.next()); assertEquals(Integer.valueOf(22), i.next()); assertEquals(Integer.valueOf(23), i.next()); assertEquals(Integer.valueOf(24), i.next()); assertEquals(Integer.valueOf(25), i.next()); this.list.addAll(Collections.singleton(100)); i = this.list.iterator(); assertEquals(Integer.valueOf(1), i.next()); assertEquals(Integer.valueOf(2), i.next()); assertEquals(Integer.valueOf(3), i.next()); assertEquals(Integer.valueOf(4), i.next()); assertEquals(Integer.valueOf(10), i.next()); assertEquals(Integer.valueOf(20), i.next()); assertEquals(Integer.valueOf(21), i.next()); assertEquals(Integer.valueOf(22), i.next()); assertEquals(Integer.valueOf(23), i.next()); assertEquals(Integer.valueOf(24), i.next()); assertEquals(Integer.valueOf(25), i.next()); assertEquals(Integer.valueOf(100), i.next()); this.list.addAll(Arrays.asList(5, 6, 7, 8, 9)); i = this.list.iterator(); assertEquals(Integer.valueOf(1), i.next()); assertEquals(Integer.valueOf(2), i.next()); assertEquals(Integer.valueOf(3), i.next()); assertEquals(Integer.valueOf(4), i.next()); assertEquals(Integer.valueOf(5), i.next()); assertEquals(Integer.valueOf(6), i.next()); assertEquals(Integer.valueOf(7), i.next()); assertEquals(Integer.valueOf(8), i.next()); assertEquals(Integer.valueOf(9), i.next()); assertEquals(Integer.valueOf(10), i.next()); assertEquals(Integer.valueOf(20), i.next()); assertEquals(Integer.valueOf(21), i.next()); assertEquals(Integer.valueOf(22), i.next()); assertEquals(Integer.valueOf(23), i.next()); assertEquals(Integer.valueOf(24), i.next()); assertEquals(Integer.valueOf(25), i.next()); assertEquals(Integer.valueOf(100), i.next()); } /** */ @Test public void clear() { Iterator<Integer> i; this.list.clear(); i = this.list.iterator(); assertFalse(i.hasNext()); } /** */ @Test public void containsObject() { assertFalse(this.list.contains(0)); assertTrue(this.list.contains(1)); assertTrue(this.list.contains(2)); assertTrue(this.list.contains(3)); assertFalse(this.list.contains(4)); assertFalse(this.list.contains(5)); assertFalse(this.list.contains(6)); assertFalse(this.list.contains(7)); assertFalse(this.list.contains(8)); assertFalse(this.list.contains(9)); assertTrue(this.list.contains(10)); assertFalse(this.list.contains(11)); assertFalse(this.list.contains(12)); assertFalse(this.list.contains(13)); assertFalse(this.list.contains(14)); assertFalse(this.list.contains(15)); } /** */ @Test public void containsAllCollection() { assertFalse(this.list.containsAll(Collections.singleton(0))); assertTrue(this.list.containsAll(Arrays.asList(1, 2, 3))); assertFalse(this.list.containsAll(Arrays.asList(4, 5, 6, 7, 8, 9))); assertFalse(this.list.containsAll(Arrays.asList(10, 11, 12, 13, 14, 15))); } /** */ @Test public void isEmpty() { assertFalse(this.list.isEmpty()); this.list.clear(); assertTrue(this.list.isEmpty()); } /** */ @Test public void iterator() { Iterator<Integer> i; i = this.list.iterator(); assertTrue(i.hasNext()); assertEquals(Integer.valueOf(1), i.next()); assertTrue(i.hasNext()); assertEquals(Integer.valueOf(2), i.next()); assertTrue(i.hasNext()); assertEquals(Integer.valueOf(3), i.next()); assertTrue(i.hasNext()); assertEquals(Integer.valueOf(10), i.next()); assertTrue(i.hasNext()); assertEquals(Integer.valueOf(20), i.next()); assertTrue(i.hasNext()); assertEquals(Integer.valueOf(21), i.next()); assertTrue(i.hasNext()); assertEquals(Integer.valueOf(22), i.next()); assertTrue(i.hasNext()); assertEquals(Integer.valueOf(23), i.next()); assertTrue(i.hasNext()); assertEquals(Integer.valueOf(24), i.next()); assertTrue(i.hasNext()); assertEquals(Integer.valueOf(25), i.next()); assertFalse(i.hasNext()); } /** */ @Test public void segmentIterator() { Iterator<IntegerSegment> i = this.list.segmentIterator(); IntegerSegment s; assertTrue(i.hasNext()); s = i.next(); assertEquals(1, s.getFirst()); assertEquals(3, s.getLast()); assertTrue(i.hasNext()); s = i.next(); assertEquals(10, s.getFirst()); assertEquals(10, s.getLast()); assertTrue(i.hasNext()); s = i.next(); assertEquals(20, s.getFirst()); assertEquals(25, s.getLast()); assertFalse(i.hasNext()); } /** */ @Test public void toSegmentIterable() { Iterable<IntegerSegment> it = this.list.toSegmentIterable(); Iterator<IntegerSegment> i = it.iterator(); IntegerSegment s; assertTrue(i.hasNext()); s = i.next(); assertEquals(1, s.getFirst()); assertEquals(3, s.getLast()); assertTrue(i.hasNext()); s = i.next(); assertEquals(10, s.getFirst()); assertEquals(10, s.getLast()); assertTrue(i.hasNext()); s = i.next(); assertEquals(20, s.getFirst()); assertEquals(25, s.getLast()); assertFalse(i.hasNext()); } /** */ @Test public void removeObject() { Iterator<Integer> i; assertTrue(this.list.remove(Integer.valueOf(25))); i = this.list.iterator(); assertTrue(i.hasNext()); assertEquals(Integer.valueOf(1), i.next()); assertTrue(i.hasNext()); assertEquals(Integer.valueOf(2), i.next()); assertTrue(i.hasNext()); assertEquals(Integer.valueOf(3), i.next()); assertTrue(i.hasNext()); assertEquals(Integer.valueOf(10), i.next()); assertTrue(i.hasNext()); assertEquals(Integer.valueOf(20), i.next()); assertTrue(i.hasNext()); assertEquals(Integer.valueOf(21), i.next()); assertTrue(i.hasNext()); assertEquals(Integer.valueOf(22), i.next()); assertTrue(i.hasNext()); assertEquals(Integer.valueOf(23), i.next()); assertTrue(i.hasNext()); assertEquals(Integer.valueOf(24), i.next()); assertFalse(i.hasNext()); assertTrue(this.list.remove(Integer.valueOf(20))); i = this.list.iterator(); assertTrue(i.hasNext()); assertEquals(Integer.valueOf(1), i.next()); assertTrue(i.hasNext()); assertEquals(Integer.valueOf(2), i.next()); assertTrue(i.hasNext()); assertEquals(Integer.valueOf(3), i.next()); assertTrue(i.hasNext()); assertEquals(Integer.valueOf(10), i.next()); assertTrue(i.hasNext()); assertEquals(Integer.valueOf(21), i.next()); assertTrue(i.hasNext()); assertEquals(Integer.valueOf(22), i.next()); assertTrue(i.hasNext()); assertEquals(Integer.valueOf(23), i.next()); assertTrue(i.hasNext()); assertEquals(Integer.valueOf(24), i.next()); assertFalse(i.hasNext()); assertTrue(this.list.remove(Integer.valueOf(10))); i = this.list.iterator(); assertTrue(i.hasNext()); assertEquals(Integer.valueOf(1), i.next()); assertTrue(i.hasNext()); assertEquals(Integer.valueOf(2), i.next()); assertTrue(i.hasNext()); assertEquals(Integer.valueOf(3), i.next()); assertTrue(i.hasNext()); assertEquals(Integer.valueOf(21), i.next()); assertTrue(i.hasNext()); assertEquals(Integer.valueOf(22), i.next()); assertTrue(i.hasNext()); assertEquals(Integer.valueOf(23), i.next()); assertTrue(i.hasNext()); assertEquals(Integer.valueOf(24), i.next()); assertFalse(i.hasNext()); assertTrue(this.list.remove(Integer.valueOf(1))); assertFalse(this.list.remove(Integer.valueOf(1))); assertNotNull(this.list.remove(Integer.valueOf(3))); assertNotNull(this.list.remove(Integer.valueOf(2))); i = this.list.iterator(); assertTrue(i.hasNext()); assertEquals(Integer.valueOf(21), i.next()); assertTrue(i.hasNext()); assertEquals(Integer.valueOf(22), i.next()); assertTrue(i.hasNext()); assertEquals(Integer.valueOf(23), i.next()); assertTrue(i.hasNext()); assertEquals(Integer.valueOf(24), i.next()); assertFalse(i.hasNext()); } /** */ @Test public void removeSegmentInt() { Iterator<Integer> i; assertEquals(Integer.valueOf(25), this.list.remove(9)); i = this.list.iterator(); assertTrue(i.hasNext()); assertEquals(Integer.valueOf(1), i.next()); assertTrue(i.hasNext()); assertEquals(Integer.valueOf(2), i.next()); assertTrue(i.hasNext()); assertEquals(Integer.valueOf(3), i.next()); assertTrue(i.hasNext()); assertEquals(Integer.valueOf(10), i.next()); assertTrue(i.hasNext()); assertEquals(Integer.valueOf(20), i.next()); assertTrue(i.hasNext()); assertEquals(Integer.valueOf(21), i.next()); assertTrue(i.hasNext()); assertEquals(Integer.valueOf(22), i.next()); assertTrue(i.hasNext()); assertEquals(Integer.valueOf(23), i.next()); assertTrue(i.hasNext()); assertEquals(Integer.valueOf(24), i.next()); assertFalse(i.hasNext()); assertEquals(Integer.valueOf(20), this.list.remove(4)); i = this.list.iterator(); assertTrue(i.hasNext()); assertEquals(Integer.valueOf(1), i.next()); assertTrue(i.hasNext()); assertEquals(Integer.valueOf(2), i.next()); assertTrue(i.hasNext()); assertEquals(Integer.valueOf(3), i.next()); assertTrue(i.hasNext()); assertEquals(Integer.valueOf(10), i.next()); assertTrue(i.hasNext()); assertEquals(Integer.valueOf(21), i.next()); assertTrue(i.hasNext()); assertEquals(Integer.valueOf(22), i.next()); assertTrue(i.hasNext()); assertEquals(Integer.valueOf(23), i.next()); assertTrue(i.hasNext()); assertEquals(Integer.valueOf(24), i.next()); assertFalse(i.hasNext()); assertEquals(Integer.valueOf(10), this.list.remove(3)); i = this.list.iterator(); assertTrue(i.hasNext()); assertEquals(Integer.valueOf(1), i.next()); assertTrue(i.hasNext()); assertEquals(Integer.valueOf(2), i.next()); assertTrue(i.hasNext()); assertEquals(Integer.valueOf(3), i.next()); assertTrue(i.hasNext()); assertEquals(Integer.valueOf(21), i.next()); assertTrue(i.hasNext()); assertEquals(Integer.valueOf(22), i.next()); assertTrue(i.hasNext()); assertEquals(Integer.valueOf(23), i.next()); assertTrue(i.hasNext()); assertEquals(Integer.valueOf(24), i.next()); assertFalse(i.hasNext()); assertEquals(Integer.valueOf(1), this.list.remove(0)); assertEquals(Integer.valueOf(3), this.list.remove(1)); assertEquals(Integer.valueOf(2), this.list.remove(0)); i = this.list.iterator(); assertTrue(i.hasNext()); assertEquals(Integer.valueOf(21), i.next()); assertTrue(i.hasNext()); assertEquals(Integer.valueOf(22), i.next()); assertTrue(i.hasNext()); assertEquals(Integer.valueOf(23), i.next()); assertTrue(i.hasNext()); assertEquals(Integer.valueOf(24), i.next()); assertFalse(i.hasNext()); } /** */ @Test public void removeAllCollection() { Iterator<Integer> i; assertTrue(this.list.removeAll(Collections.singleton(Integer.valueOf(25)))); i = this.list.iterator(); assertTrue(i.hasNext()); assertEquals(Integer.valueOf(1), i.next()); assertTrue(i.hasNext()); assertEquals(Integer.valueOf(2), i.next()); assertTrue(i.hasNext()); assertEquals(Integer.valueOf(3), i.next()); assertTrue(i.hasNext()); assertEquals(Integer.valueOf(10), i.next()); assertTrue(i.hasNext()); assertEquals(Integer.valueOf(20), i.next()); assertTrue(i.hasNext()); assertEquals(Integer.valueOf(21), i.next()); assertTrue(i.hasNext()); assertEquals(Integer.valueOf(22), i.next()); assertTrue(i.hasNext()); assertEquals(Integer.valueOf(23), i.next()); assertTrue(i.hasNext()); assertEquals(Integer.valueOf(24), i.next()); assertFalse(i.hasNext()); assertTrue(this.list.removeAll(Collections.singleton(Integer.valueOf(20)))); i = this.list.iterator(); assertTrue(i.hasNext()); assertEquals(Integer.valueOf(1), i.next()); assertTrue(i.hasNext()); assertEquals(Integer.valueOf(2), i.next()); assertTrue(i.hasNext()); assertEquals(Integer.valueOf(3), i.next()); assertTrue(i.hasNext()); assertEquals(Integer.valueOf(10), i.next()); assertTrue(i.hasNext()); assertEquals(Integer.valueOf(21), i.next()); assertTrue(i.hasNext()); assertEquals(Integer.valueOf(22), i.next()); assertTrue(i.hasNext()); assertEquals(Integer.valueOf(23), i.next()); assertTrue(i.hasNext()); assertEquals(Integer.valueOf(24), i.next()); assertFalse(i.hasNext()); assertTrue(this.list.removeAll(Collections.singleton(Integer.valueOf(10)))); i = this.list.iterator(); assertTrue(i.hasNext()); assertEquals(Integer.valueOf(1), i.next()); assertTrue(i.hasNext()); assertEquals(Integer.valueOf(2), i.next()); assertTrue(i.hasNext()); assertEquals(Integer.valueOf(3), i.next()); assertTrue(i.hasNext()); assertEquals(Integer.valueOf(21), i.next()); assertTrue(i.hasNext()); assertEquals(Integer.valueOf(22), i.next()); assertTrue(i.hasNext()); assertEquals(Integer.valueOf(23), i.next()); assertTrue(i.hasNext()); assertEquals(Integer.valueOf(24), i.next()); assertFalse(i.hasNext()); assertTrue(this.list.removeAll(Arrays.asList( Integer.valueOf(1), Integer.valueOf(1), Integer.valueOf(3), Integer.valueOf(2)))); i = this.list.iterator(); assertTrue(i.hasNext()); assertEquals(Integer.valueOf(21), i.next()); assertTrue(i.hasNext()); assertEquals(Integer.valueOf(22), i.next()); assertTrue(i.hasNext()); assertEquals(Integer.valueOf(23), i.next()); assertTrue(i.hasNext()); assertEquals(Integer.valueOf(24), i.next()); assertFalse(i.hasNext()); } /** */ @Test public void retainAllCollection() { Iterator<Integer> i; assertTrue(this.list.retainAll(Arrays.asList( Integer.valueOf(1), Integer.valueOf(1), Integer.valueOf(3), Integer.valueOf(2)))); i = this.list.iterator(); assertTrue(i.hasNext()); assertEquals(Integer.valueOf(1), i.next()); assertTrue(i.hasNext()); assertEquals(Integer.valueOf(2), i.next()); assertTrue(i.hasNext()); assertEquals(Integer.valueOf(3), i.next()); assertFalse(i.hasNext()); } /** */ @Test public void setSortedSet() { Iterator<Integer> i; SortedSet<Integer> set = new TreeSet<>(); set.add(Integer.valueOf(00)); set.add(Integer.valueOf(10)); set.add(Integer.valueOf(20)); set.add(Integer.valueOf(30)); set.add(Integer.valueOf(40)); this.list.set(set); i = this.list.iterator(); assertTrue(i.hasNext()); assertEquals(Integer.valueOf(0), i.next()); assertTrue(i.hasNext()); assertEquals(Integer.valueOf(10), i.next()); assertTrue(i.hasNext()); assertEquals(Integer.valueOf(20), i.next()); assertTrue(i.hasNext()); assertEquals(Integer.valueOf(30), i.next()); assertTrue(i.hasNext()); assertEquals(Integer.valueOf(40), i.next()); assertFalse(i.hasNext()); } /** */ @Test public void getSegmentCount() { assertEquals(3, this.list.getSegmentCount()); this.list.add(Integer.valueOf(00)); this.list.add(Integer.valueOf(10)); this.list.add(Integer.valueOf(20)); this.list.add(Integer.valueOf(30)); this.list.add(Integer.valueOf(40)); assertEquals(5, this.list.getSegmentCount()); } /** */ @Test public void getIntIntArray() { int[] tab = new int[2]; assertTrue(this.list.get(0, tab)); assertEquals(0, tab[0]); assertEquals(1, tab[1]); assertTrue(this.list.get(1, tab)); assertEquals(0, tab[0]); assertEquals(2, tab[1]); assertTrue(this.list.get(2, tab)); assertEquals(0, tab[0]); assertEquals(3, tab[1]); assertTrue(this.list.get(3, tab)); assertEquals(2, tab[0]); assertEquals(10, tab[1]); assertTrue(this.list.get(4, tab)); assertEquals(4, tab[0]); assertEquals(20, tab[1]); } /** */ @Test public void toArray() { Object[] tab = this.list.toArray(); assertEquals(Integer.valueOf(1), tab[0]); assertEquals(Integer.valueOf(2), tab[1]); assertEquals(Integer.valueOf(3), tab[2]); assertEquals(Integer.valueOf(10), tab[3]); assertEquals(Integer.valueOf(20), tab[4]); assertEquals(Integer.valueOf(21), tab[5]); assertEquals(Integer.valueOf(22), tab[6]); assertEquals(Integer.valueOf(23), tab[7]); assertEquals(Integer.valueOf(24), tab[8]); assertEquals(Integer.valueOf(25), tab[9]); } /** */ @Test public void toIntArray() { int[] tab = this.list.toIntArray(); assertEquals(1, tab[0]); assertEquals(2, tab[1]); assertEquals(3, tab[2]); assertEquals(10, tab[3]); assertEquals(20, tab[4]); assertEquals(21, tab[5]); assertEquals(22, tab[6]); assertEquals(23, tab[7]); assertEquals(24, tab[8]); assertEquals(25, tab[9]); } /** */ @Test public void toArrayTArray() { Object[] tab, tab2; tab = new Object[15]; assertSame(tab, this.list.toArray(tab)); assertEquals(Integer.valueOf(1), tab[0]); assertEquals(Integer.valueOf(2), tab[1]); assertEquals(Integer.valueOf(3), tab[2]); assertEquals(Integer.valueOf(10), tab[3]); assertEquals(Integer.valueOf(20), tab[4]); assertEquals(Integer.valueOf(21), tab[5]); assertEquals(Integer.valueOf(22), tab[6]); assertEquals(Integer.valueOf(23), tab[7]); assertEquals(Integer.valueOf(24), tab[8]); assertEquals(Integer.valueOf(25), tab[9]); assertNull(tab[10]); assertNull(tab[11]); assertNull(tab[12]); assertNull(tab[13]); assertNull(tab[14]); tab = new Object[5]; tab2 = this.list.toArray(tab); assertNotSame(tab, tab2); assertEquals(Integer.valueOf(1), tab2[0]); assertEquals(Integer.valueOf(2), tab2[1]); assertEquals(Integer.valueOf(3), tab2[2]); assertEquals(Integer.valueOf(10), tab2[3]); assertEquals(Integer.valueOf(20), tab2[4]); } /** */ @Test public void toSortedSet() { SortedSet<Integer> set; Iterator<Integer> i; set = this.list.toSortedSet(); i = set.iterator(); assertTrue(i.hasNext()); assertEquals(Integer.valueOf(1), i.next()); assertTrue(i.hasNext()); assertEquals(Integer.valueOf(2), i.next()); assertTrue(i.hasNext()); assertEquals(Integer.valueOf(3), i.next()); assertTrue(i.hasNext()); assertEquals(Integer.valueOf(10), i.next()); assertTrue(i.hasNext()); assertEquals(Integer.valueOf(20), i.next()); assertTrue(i.hasNext()); assertEquals(Integer.valueOf(21), i.next()); assertTrue(i.hasNext()); assertEquals(Integer.valueOf(22), i.next()); assertTrue(i.hasNext()); assertEquals(Integer.valueOf(23), i.next()); assertTrue(i.hasNext()); assertEquals(Integer.valueOf(24), i.next()); assertTrue(i.hasNext()); assertEquals(Integer.valueOf(25), i.next()); assertFalse(i.hasNext()); } /** */ @Test public void getInt() { assertEquals(Integer.valueOf(1), this.list.get(0)); assertEquals(Integer.valueOf(2), this.list.get(1)); assertEquals(Integer.valueOf(3), this.list.get(2)); assertEquals(Integer.valueOf(10), this.list.get(3)); assertEquals(Integer.valueOf(20), this.list.get(4)); assertEquals(Integer.valueOf(21), this.list.get(5)); assertEquals(Integer.valueOf(22), this.list.get(6)); assertEquals(Integer.valueOf(23), this.list.get(7)); assertEquals(Integer.valueOf(24), this.list.get(8)); assertEquals(Integer.valueOf(25), this.list.get(9)); } /** */ @Test public void indexOfObject() { assertEquals(-1, this.list.indexOf(Integer.valueOf(0))); assertEquals(0, this.list.indexOf(Integer.valueOf(1))); assertEquals(1, this.list.indexOf(Integer.valueOf(2))); assertEquals(2, this.list.indexOf(Integer.valueOf(3))); assertEquals(-1, this.list.indexOf(Integer.valueOf(4))); assertEquals(-1, this.list.indexOf(Integer.valueOf(5))); assertEquals(-1, this.list.indexOf(Integer.valueOf(6))); assertEquals(-1, this.list.indexOf(Integer.valueOf(7))); assertEquals(-1, this.list.indexOf(Integer.valueOf(8))); assertEquals(-1, this.list.indexOf(Integer.valueOf(9))); assertEquals(3, this.list.indexOf(Integer.valueOf(10))); assertEquals(-1, this.list.indexOf(Integer.valueOf(11))); assertEquals(-1, this.list.indexOf(Integer.valueOf(12))); assertEquals(-1, this.list.indexOf(Integer.valueOf(13))); assertEquals(-1, this.list.indexOf(Integer.valueOf(14))); assertEquals(-1, this.list.indexOf(Integer.valueOf(15))); assertEquals(-1, this.list.indexOf(Integer.valueOf(16))); assertEquals(-1, this.list.indexOf(Integer.valueOf(17))); assertEquals(-1, this.list.indexOf(Integer.valueOf(18))); assertEquals(-1, this.list.indexOf(Integer.valueOf(19))); assertEquals(4, this.list.indexOf(Integer.valueOf(20))); assertEquals(5, this.list.indexOf(Integer.valueOf(21))); assertEquals(6, this.list.indexOf(Integer.valueOf(22))); assertEquals(7, this.list.indexOf(Integer.valueOf(23))); assertEquals(8, this.list.indexOf(Integer.valueOf(24))); assertEquals(9, this.list.indexOf(Integer.valueOf(25))); assertEquals(-1, this.list.indexOf(Integer.valueOf(26))); assertEquals(-1, this.list.indexOf(Integer.valueOf(27))); assertEquals(-1, this.list.indexOf(Integer.valueOf(28))); assertEquals(-1, this.list.indexOf(Integer.valueOf(29))); assertEquals(-1, this.list.indexOf(Integer.valueOf(30))); } /** */ @Test public void lastIndexOfObject() { assertEquals(-1, this.list.lastIndexOf(Integer.valueOf(0))); assertEquals(0, this.list.lastIndexOf(Integer.valueOf(1))); assertEquals(1, this.list.lastIndexOf(Integer.valueOf(2))); assertEquals(2, this.list.lastIndexOf(Integer.valueOf(3))); assertEquals(-1, this.list.lastIndexOf(Integer.valueOf(4))); assertEquals(-1, this.list.lastIndexOf(Integer.valueOf(5))); assertEquals(-1, this.list.lastIndexOf(Integer.valueOf(6))); assertEquals(-1, this.list.lastIndexOf(Integer.valueOf(7))); assertEquals(-1, this.list.lastIndexOf(Integer.valueOf(8))); assertEquals(-1, this.list.lastIndexOf(Integer.valueOf(9))); assertEquals(3, this.list.lastIndexOf(Integer.valueOf(10))); assertEquals(-1, this.list.lastIndexOf(Integer.valueOf(11))); assertEquals(-1, this.list.lastIndexOf(Integer.valueOf(12))); assertEquals(-1, this.list.lastIndexOf(Integer.valueOf(13))); assertEquals(-1, this.list.lastIndexOf(Integer.valueOf(14))); assertEquals(-1, this.list.lastIndexOf(Integer.valueOf(15))); assertEquals(-1, this.list.lastIndexOf(Integer.valueOf(16))); assertEquals(-1, this.list.lastIndexOf(Integer.valueOf(17))); assertEquals(-1, this.list.lastIndexOf(Integer.valueOf(18))); assertEquals(-1, this.list.lastIndexOf(Integer.valueOf(19))); assertEquals(4, this.list.lastIndexOf(Integer.valueOf(20))); assertEquals(5, this.list.lastIndexOf(Integer.valueOf(21))); assertEquals(6, this.list.lastIndexOf(Integer.valueOf(22))); assertEquals(7, this.list.lastIndexOf(Integer.valueOf(23))); assertEquals(8, this.list.lastIndexOf(Integer.valueOf(24))); assertEquals(9, this.list.lastIndexOf(Integer.valueOf(25))); assertEquals(-1, this.list.lastIndexOf(Integer.valueOf(26))); assertEquals(-1, this.list.lastIndexOf(Integer.valueOf(27))); assertEquals(-1, this.list.lastIndexOf(Integer.valueOf(28))); assertEquals(-1, this.list.lastIndexOf(Integer.valueOf(29))); assertEquals(-1, this.list.lastIndexOf(Integer.valueOf(30))); } /** */ @Test public void listIterator() { ListIterator<Integer> i; i = this.list.listIterator(); assertFalse(i.hasPrevious()); assertTrue(i.hasNext()); assertEquals(0, i.nextIndex()); assertEquals(Integer.valueOf(1), i.next()); assertTrue(i.hasPrevious()); assertTrue(i.hasNext()); assertEquals(1, i.nextIndex()); assertEquals(Integer.valueOf(2), i.next()); assertTrue(i.hasPrevious()); assertTrue(i.hasNext()); assertEquals(2, i.nextIndex()); assertEquals(Integer.valueOf(3), i.next()); assertTrue(i.hasPrevious()); assertTrue(i.hasNext()); assertEquals(3, i.nextIndex()); assertEquals(Integer.valueOf(10), i.next()); assertTrue(i.hasPrevious()); assertTrue(i.hasNext()); assertEquals(4, i.nextIndex()); assertEquals(Integer.valueOf(20), i.next()); assertTrue(i.hasPrevious()); assertTrue(i.hasNext()); assertEquals(5, i.nextIndex()); assertEquals(Integer.valueOf(21), i.next()); assertTrue(i.hasPrevious()); assertTrue(i.hasNext()); assertEquals(6, i.nextIndex()); assertEquals(Integer.valueOf(22), i.next()); assertTrue(i.hasPrevious()); assertTrue(i.hasNext()); assertEquals(7, i.nextIndex()); assertEquals(Integer.valueOf(23), i.next()); assertTrue(i.hasPrevious()); assertTrue(i.hasNext()); assertEquals(8, i.nextIndex()); assertEquals(Integer.valueOf(24), i.next()); assertTrue(i.hasPrevious()); assertTrue(i.hasNext()); assertEquals(9, i.nextIndex()); assertEquals(Integer.valueOf(25), i.next()); assertTrue(i.hasPrevious()); assertFalse(i.hasNext()); } /** */ @Test public void listIteratorInt() { ListIterator<Integer> i; i = this.list.listIterator(2); assertFalse(i.hasPrevious()); assertTrue(i.hasNext()); assertEquals(2, i.nextIndex()); assertEquals(Integer.valueOf(3), i.next()); assertTrue(i.hasPrevious()); assertTrue(i.hasNext()); assertEquals(3, i.nextIndex()); assertEquals(Integer.valueOf(10), i.next()); assertTrue(i.hasPrevious()); assertTrue(i.hasNext()); assertEquals(4, i.nextIndex()); assertEquals(Integer.valueOf(20), i.next()); assertTrue(i.hasPrevious()); assertTrue(i.hasNext()); assertEquals(5, i.nextIndex()); assertEquals(Integer.valueOf(21), i.next()); assertTrue(i.hasPrevious()); assertTrue(i.hasNext()); assertEquals(6, i.nextIndex()); assertEquals(Integer.valueOf(22), i.next()); assertTrue(i.hasPrevious()); assertTrue(i.hasNext()); assertEquals(7, i.nextIndex()); assertEquals(Integer.valueOf(23), i.next()); assertTrue(i.hasPrevious()); assertTrue(i.hasNext()); assertEquals(8, i.nextIndex()); assertEquals(Integer.valueOf(24), i.next()); assertTrue(i.hasPrevious()); assertTrue(i.hasNext()); assertEquals(9, i.nextIndex()); assertEquals(Integer.valueOf(25), i.next()); assertTrue(i.hasPrevious()); assertFalse(i.hasNext()); } /** */ @Test public void removeInt() { Iterator<Integer> i; assertEquals(Integer.valueOf(2), this.list.remove(1)); i = this.list.iterator(); assertTrue(i.hasNext()); assertEquals(Integer.valueOf(1), i.next()); assertTrue(i.hasNext()); assertEquals(Integer.valueOf(3), i.next()); assertTrue(i.hasNext()); assertEquals(Integer.valueOf(10), i.next()); assertTrue(i.hasNext()); assertEquals(Integer.valueOf(20), i.next()); assertTrue(i.hasNext()); assertEquals(Integer.valueOf(21), i.next()); assertTrue(i.hasNext()); assertEquals(Integer.valueOf(22), i.next()); assertTrue(i.hasNext()); assertEquals(Integer.valueOf(23), i.next()); assertTrue(i.hasNext()); assertEquals(Integer.valueOf(24), i.next()); assertTrue(i.hasNext()); assertEquals(Integer.valueOf(25), i.next()); assertFalse(i.hasNext()); assertEquals(Integer.valueOf(22), this.list.remove(5)); i = this.list.iterator(); assertTrue(i.hasNext()); assertEquals(Integer.valueOf(1), i.next()); assertTrue(i.hasNext()); assertEquals(Integer.valueOf(3), i.next()); assertTrue(i.hasNext()); assertEquals(Integer.valueOf(10), i.next()); assertTrue(i.hasNext()); assertEquals(Integer.valueOf(20), i.next()); assertTrue(i.hasNext()); assertEquals(Integer.valueOf(21), i.next()); assertTrue(i.hasNext()); assertEquals(Integer.valueOf(23), i.next()); assertTrue(i.hasNext()); assertEquals(Integer.valueOf(24), i.next()); assertTrue(i.hasNext()); assertEquals(Integer.valueOf(25), i.next()); assertFalse(i.hasNext()); } /** */ @Test public void setIntInteger() { Iterator<Integer> i; assertEquals(Integer.valueOf(2), this.list.set(1, Integer.valueOf(123))); i = this.list.iterator(); assertTrue(i.hasNext()); assertEquals(Integer.valueOf(1), i.next()); assertTrue(i.hasNext()); assertEquals(Integer.valueOf(3), i.next()); assertTrue(i.hasNext()); assertEquals(Integer.valueOf(10), i.next()); assertTrue(i.hasNext()); assertEquals(Integer.valueOf(20), i.next()); assertTrue(i.hasNext()); assertEquals(Integer.valueOf(21), i.next()); assertTrue(i.hasNext()); assertEquals(Integer.valueOf(22), i.next()); assertTrue(i.hasNext()); assertEquals(Integer.valueOf(23), i.next()); assertTrue(i.hasNext()); assertEquals(Integer.valueOf(24), i.next()); assertTrue(i.hasNext()); assertEquals(Integer.valueOf(25), i.next()); assertTrue(i.hasNext()); assertEquals(Integer.valueOf(123), i.next()); assertFalse(i.hasNext()); assertEquals(Integer.valueOf(3), this.list.set(1, Integer.valueOf(456))); i = this.list.iterator(); assertTrue(i.hasNext()); assertEquals(Integer.valueOf(1), i.next()); assertTrue(i.hasNext()); assertEquals(Integer.valueOf(10), i.next()); assertTrue(i.hasNext()); assertEquals(Integer.valueOf(20), i.next()); assertTrue(i.hasNext()); assertEquals(Integer.valueOf(21), i.next()); assertTrue(i.hasNext()); assertEquals(Integer.valueOf(22), i.next()); assertTrue(i.hasNext()); assertEquals(Integer.valueOf(23), i.next()); assertTrue(i.hasNext()); assertEquals(Integer.valueOf(24), i.next()); assertTrue(i.hasNext()); assertEquals(Integer.valueOf(25), i.next()); assertTrue(i.hasNext()); assertEquals(Integer.valueOf(123), i.next()); assertTrue(i.hasNext()); assertEquals(Integer.valueOf(456), i.next()); assertFalse(i.hasNext()); } /** */ @Test public void subListIntInt() { List<Integer> l; Iterator<Integer> i; l = this.list.subList(0, 3); assertEquals(3, l.size()); i = l.iterator(); assertEquals(Integer.valueOf(1), i.next()); assertEquals(Integer.valueOf(2), i.next()); assertEquals(Integer.valueOf(3), i.next()); l = this.list.subList(0, 5); assertEquals(5, l.size()); i = l.iterator(); assertEquals(Integer.valueOf(1), i.next()); assertEquals(Integer.valueOf(2), i.next()); assertEquals(Integer.valueOf(3), i.next()); assertEquals(Integer.valueOf(10), i.next()); assertEquals(Integer.valueOf(20), i.next()); l = this.list.subList(2, 5); assertEquals(3, l.size()); i = l.iterator(); assertEquals(Integer.valueOf(3), i.next()); assertEquals(Integer.valueOf(10), i.next()); assertEquals(Integer.valueOf(20), i.next()); l = this.list.subList(3, 5); assertEquals(2, l.size()); i = l.iterator(); assertEquals(Integer.valueOf(10), i.next()); assertEquals(Integer.valueOf(20), i.next()); } }