Class AbstractContainerTester<C,​E>

    • Constructor Detail

      • AbstractContainerTester

        public AbstractContainerTester()
    • Method Detail

      • actualContents

        protected abstract java.util.Collection<E> actualContents()
        Returns:
        the contents of the container under test, for use by expectContents(E...) and its friends.
      • resetContainer

        protected C resetContainer()
        Replaces the existing container under test with a new container created by the subject generator.
        Returns:
        the new container instance.
        See Also:
        resetContainer(C)
      • resetContainer

        protected C resetContainer​(C newValue)
        Replaces the existing container under test with a new container. This is useful when a single test method needs to create multiple containers while retaining the ability to use expectContents(E...) and other convenience methods. The creation of multiple containers in a single method is discouraged in most cases, but it is vital to the iterator tests.
        Parameters:
        newValue - the new container instance
        Returns:
        the new container instance
      • expectContents

        protected void expectContents​(java.util.Collection<E> expected)
        Asserts that the collection under test contains exactly the given elements, respecting cardinality but not order. Subclasses may override this method to provide stronger assertions, e.g., to check ordering in lists, but realize that unless a test extends AbstractListTester, a call to expectContents() invokes this version.
        Parameters:
        expected - expected value of container
      • expectUnchanged

        protected void expectUnchanged()
      • expectAdded

        protected final void expectAdded​(E... elements)
        Asserts that the collection under test contains exactly the elements it was initialized with plus the given elements, according to expectContents(java.util.Collection). In other words, for the default expectContents() implementation, the number of occurrences of each given element has increased by one since the test collection was created, and the number of occurrences of all other elements has not changed.

        Note: This means that a test like the following will fail if collection is a Set:

         collection.add(existingElement);
         expectAdded(existingElement);

        In this case, collection was not modified as a result of the add() call, and the test will fail because the number of occurrences of existingElement is unchanged.

        Parameters:
        elements - expected additional contents of container
      • expectAdded

        protected final void expectAdded​(int index,
                                         E... elements)
      • expectAdded

        protected final void expectAdded​(int index,
                                         java.util.Collection<E> elements)
      • expectMissing

        protected void expectMissing​(E... elements)
      • createSamplesArray

        protected E[] createSamplesArray()
      • createOrderedArray

        protected E[] createOrderedArray()
      • createArrayWithDuplicateElement

        protected AbstractContainerTester.ArrayWithDuplicate<E> createArrayWithDuplicateElement()
        Returns:
        an array of the proper size with a duplicate element. The size must be at least three.
      • getNumElements

        protected int getNumElements()
      • getSampleElements

        protected java.util.Collection<E> getSampleElements​(int howMany)
      • getSampleElements

        protected java.util.Collection<E> getSampleElements()
      • getNullLocation

        protected int getNullLocation()
        Returns:
        a suitable location for a null element, to use when initializing containers for tests that involve a null element being present.
      • e0

        protected final E e0()
      • e1

        protected final E e1()
      • e2

        protected final E e2()
      • e3

        protected final E e3()
      • e4

        protected final E e4()