public void testSubList_startNegative() { try { getList().subList(-1, 0); fail("subList(-1, 0) should throw"); } catch (IndexOutOfBoundsException expected) { } }
public void testSubList_ofSubListEmpty() { List<E> subList = getList().subList(0, 0).subList(0, 0); assertEquals("subList(0, 0).subList(0, 0) should be an empty list", emptyList(), subList); }
public void testSubList_startGreaterThanEnd() { try { getList().subList(1, 0); fail("subList(1, 0) should throw"); } catch (IndexOutOfBoundsException expected) { } catch (IllegalArgumentException expected) { /* * The subList() docs claim that this should be an * IndexOutOfBoundsException, but many JDK implementations throw * IllegalArgumentException: * http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=4506427 */ } }
@CollectionSize.Require(absent = {ZERO}) public void testSubList_isEmpty() { List<E> list = getList(); int size = getNumElements(); for (List<E> subList : Arrays.asList( list.subList(0, size), list.subList(0, size - 1), list.subList(1, size), list.subList(0, 0), list.subList(size, size))) { assertEquals(subList.size() == 0, subList.isEmpty()); } }
public void testSubList_endTooLarge() { try { getList().subList(0, getNumElements() + 1); fail("subList(0, size + 1) should throw"); } catch (IndexOutOfBoundsException expected) { } }
@CollectionSize.Require(absent = {ZERO, ONE}) public void testSubList_ofSubListNonEmpty() { List<E> subList = getList().subList(0, 2).subList(1, 2); assertEquals( "subList(0, 2).subList(1, 2) " + "should be a single-element list of the element at index 1", Collections.singletonList(getOrderedElements().get(1)), subList); }
@ListFeature.Require(SUPPORTS_SET) @CollectionSize.Require(absent = ZERO) public void testSubList_originalListSetAffectsSubList() { List<E> subList = getList().subList(0, 1); getList().set(0, e3()); assertEquals( "A set() call to a list after a sublist has been created " + "should be reflected in the sublist", Collections.singletonList(e3()), subList); }
@CollectionFeature.Require(SERIALIZABLE_INCLUDING_VIEWS) public void testReserializeEmptySubList() { SerializableTester.reserializeAndAssert(getList().subList(0, 0)); }
@CollectionSize.Require(absent = {ZERO}) public void testSubList_size() { List<E> list = getList(); int size = getNumElements(); assertEquals(size, list.subList(0, size).size()); assertEquals(size - 1, list.subList(0, size - 1).size()); assertEquals(size - 1, list.subList(1, size).size()); assertEquals(0, list.subList(size, size).size()); assertEquals(0, list.subList(0, 0).size()); }
@ListFeature.Require(SUPPORTS_SET) @CollectionSize.Require(absent = {ZERO, ONE}) public void testSubList_originalListSetAffectsSubListLargeList() { List<E> subList = getList().subList(1, 3); getList().set(1, e3()); assertEquals( "A set() call to a list after a sublist has been created " + "should be reflected in the sublist", Arrays.asList(e3(), e2()), subList); }
@ListFeature.Require(SUPPORTS_REMOVE_WITH_INDEX) @CollectionSize.Require(absent = ZERO) public void testSubList_subListRemoveAffectsOriginal() { List<E> subList = getList().subList(0, 1); subList.remove(0); List<E> expected = Arrays.asList(createSamplesArray()).subList(1, getNumElements()); expectContents(expected); }
@ListFeature.Require(SUPPORTS_REMOVE_WITH_INDEX) @CollectionSize.Require(absent = ZERO) public void testSubList_subListClearAffectsOriginal() { List<E> subList = getList().subList(0, 1); subList.clear(); List<E> expected = Arrays.asList(createSamplesArray()).subList(1, getNumElements()); expectContents(expected); }
@CollectionFeature.Require(SERIALIZABLE_INCLUDING_VIEWS) @CollectionSize.Require(absent = {ZERO, ONE}) public void testReserializeSubList() { SerializableTester.reserializeAndAssert(getList().subList(0, 2)); }
@CollectionFeature.Require(SERIALIZABLE_INCLUDING_VIEWS) public void testReserializeWholeSubList() { SerializableTester.reserializeAndAssert(getList().subList(0, getNumElements())); }
@ListFeature.Require(SUPPORTS_ADD_WITH_INDEX) public void testSubList_subListAddAffectsOriginal() { List<E> subList = getList().subList(0, 0); subList.add(e3()); expectAdded(0, e3()); }
@ListFeature.Require(SUPPORTS_ADD_WITH_INDEX) @CollectionSize.Require(absent = {ZERO, ONE}) public void testSubList_subListAddAtIndexAffectsOriginalLargeList() { List<E> subList = getList().subList(2, 3); subList.add(0, e3()); expectAdded(2, e3()); }
@ListFeature.Require(SUPPORTS_REMOVE_WITH_INDEX) @CollectionSize.Require(absent = {ZERO, ONE}) public void testSubList_subListRemoveAffectsOriginalLargeList() { List<E> subList = getList().subList(1, 3); subList.remove(e2()); List<E> expected = Helpers.copyToList(createSamplesArray()); expected.remove(2); expectContents(expected); }
@ListFeature.Require(SUPPORTS_SET) @CollectionSize.Require(absent = {ZERO, ONE}) public void testSubList_subListSetAffectsOriginalLargeList() { List<E> subList = getList().subList(1, 2); subList.set(0, e3()); List<E> expected = Helpers.copyToList(createSamplesArray()); expected.set(1, e3()); expectContents(expected); }
@ListFeature.Require(SUPPORTS_SET) @CollectionSize.Require(absent = ZERO) public void testSubList_subListSetAffectsOriginal() { List<E> subList = getList().subList(0, 1); subList.set(0, e3()); List<E> expected = Helpers.copyToList(createSamplesArray()); expected.set(0, e3()); expectContents(expected); }