public void testSubList_entireList() { assertEquals( "subList(0, size) should be equal to the original list", getList(), getList().subList(0, getNumElements())); }
@CollectionSize.Require(absent = {ZERO, ONE}) public void testSubList_contains() { List<E> list = getList(); int size = getNumElements(); List<E> copy = list.subList(0, size); List<E> head = list.subList(0, size - 1); List<E> tail = list.subList(1, size); assertTrue(copy.contains(list.get(0))); assertTrue(head.contains(list.get(0))); assertTrue(tail.contains(list.get(1))); // The following assumes all elements are distinct. assertTrue(copy.contains(list.get(size - 1))); assertTrue(head.contains(list.get(size - 2))); assertTrue(tail.contains(list.get(size - 1))); assertFalse(head.contains(list.get(size - 1))); assertFalse(tail.contains(list.get(0))); }
@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); }
public void testSubList_endTooLarge() { try { getList().subList(0, getNumElements() + 1); fail("subList(0, size + 1) should throw"); } catch (IndexOutOfBoundsException 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); }
@CollectionSize.Require(absent = {ZERO, ONE}) public void testSubList_get() { List<E> list = getList(); int size = getNumElements(); List<E> copy = list.subList(0, size); List<E> head = list.subList(0, size - 1); List<E> tail = list.subList(1, size); assertEquals(list.get(0), copy.get(0)); assertEquals(list.get(size - 1), copy.get(size - 1)); assertEquals(list.get(1), tail.get(0)); assertEquals(list.get(size - 1), tail.get(size - 2)); assertEquals(list.get(0), head.get(0)); assertEquals(list.get(size - 2), head.get(size - 2)); for (List<E> subList : Arrays.asList(copy, head, tail)) { for (int index : Arrays.asList(-1, subList.size())) { try { subList.get(index); fail("expected IndexOutOfBoundsException"); } catch (IndexOutOfBoundsException expected) { } } } }
public void testSubList_empty() { assertEquals("subList(0, 0) should be empty", emptyList(), getList().subList(0, 0)); }
@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_subListSetAffectsOriginal() { List<E> subList = getList().subList(0, 1); subList.set(0, samples.e3); List<E> expected = Helpers.copyToList(createSamplesArray()); expected.set(0, samples.e3); expectContents(expected); }
@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_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_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_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 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(samples.e3); expectAdded(0, samples.e3); }
@CollectionFeature.Require(SERIALIZABLE_INCLUDING_VIEWS) public void testReserializeEmptySubList() { SerializableTester.reserializeAndAssert(getList().subList(0, 0)); }
@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); }
@CollectionSize.Require(absent = {ZERO, ONE}) public void testSubList_get() { List<E> list = getList(); int size = getNumElements(); List<E> copy = list.subList(0, size); List<E> head = list.subList(0, size - 1); List<E> tail = list.subList(1, size); assertEquals(list.get(0), copy.get(0)); assertEquals(list.get(size - 1), copy.get(size - 1)); assertEquals(list.get(1), tail.get(0)); assertEquals(list.get(size - 1), tail.get(size - 2)); assertEquals(list.get(0), head.get(0)); assertEquals(list.get(size - 2), head.get(size - 2)); for (List<E> subList : Arrays.asList(copy, head, tail)) { for (int index : Arrays.asList(-1, subList.size())) { try { subList.get(index); fail("expected IndexOutOfBoundsException"); } 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); }