java-fundamentals-exercises icon indicating copy to clipboard operation
java-fundamentals-exercises copied to clipboard

ArrayList add test does not work properly with this example

Open obaibula opened this issue 3 years ago • 0 comments

Hello. The test does not fail with this corrupted code:

 @Override
    public void add(T element) {
        Objects.requireNonNull(element);

        if (elements.length != size) {
            elements[size] = element;
        } else {
            Object[] copy = new Object[size * 2];
            System.arraycopy(elements, 0, copy, 0, size);
            elements = copy;
        }
        size++;
    }
We should check at least 5 elements (if InitialCapaciti is 5):
  void add() {
       arrayList.add(10);
       arrayList.add(15);
       arrayList.add(20);
       arrayList.add(21);
       arrayList.add(24);
       arrayList.add(845);

       Object[] internalArray = getTestArray();

       assertThat(internalArray[0]).isEqualTo(10);
       assertThat(internalArray[1]).isEqualTo(15);
       assertThat(internalArray[2]).isEqualTo(20);
       assertThat(internalArray[3]).isEqualTo(21);
       assertThat(internalArray[4]).isEqualTo(24);
       assertThat(internalArray[5]).isEqualTo(845);
   }

obaibula avatar Feb 22 '23 09:02 obaibula