### Question:
Stack implements Iterable<E> { public E pop() { return (list.size() > 0 ? list.remove(list.size() - 1) : null); } Stack();  Stack(int initialCapacity);  Stack(Stack<E> stack); boolean isEmpty(); E peek(); E pop(); E push(E item); int search(E o); int size(); E get(int depth); void add(E item); void clear(); @Override Iterator<E> iterator(); Stream<E> stream(); @Override int hashCode(); @SuppressWarnings("rawtypes") @Override boolean equals(Object obj); @Override String toString();  }### Answer:
@Test public void testPop() { assertEquals("A", stack3.pop()); assertEquals(false, stack2.pop().equals("A")); assertEquals(true, stack2.push("3").equals("3")); assertEquals("3", stack2.pop()); }