### Question:
VectorSTL implements Iterable<T> { public void assign(VectorSTL<T> otherVector) { data.clear(); data.addAll(otherVector.data); } VectorSTL();  VectorSTL(int initialCapacity);  VectorSTL(int initialCapacity, T value);  VectorSTL(VectorSTL<T> other); @Override String toString(); void reserve(int capacity); IteratorSTL<T> begin(); IteratorSTL<T> end(); IteratorSTL<T> rBegin(); IteratorSTL<T> rEnd(); void clear(); int size(); boolean empty(); T get(int index); T front(); T back(); void setBack(T value); void push_back(T value); T pop_back(); void insert(int index, T value); void appendAll(VectorSTL<T> vector); void insertAll(IteratorSTL<T> pos, VectorSTL<T> vector); void insert(IteratorSTL<T> iterator, T value); void set(int index, T value); void set(IteratorSTL<T> iter, T value); @Override boolean equals(Object obj); T erase(int index); IteratorSTL<T> erase(IteratorSTL<T> it); void erase(IteratorSTL<T> start, IteratorSTL<T> end); void sort(); void sort(Comparator<T> comparator); VectorSTL<T> copy(); @Override Iterator<T> iterator(); IteratorSTL<T> lower_bound(T key, Comparator<T> comparator); IteratorSTL<T> lower_bound(T key); IteratorSTL<T> upper_bound(T key); IteratorSTL<T> upper_bound(T key, Comparator<T> comparator); static void merge(VectorSTL<K> v1, VectorSTL<K> v2, VectorSTL<K> destination); static void merge(VectorSTL<K> v1, VectorSTL<K> v2, VectorSTL<K> destination,
			Comparator<K> comparator); void resize(int size, T value); void insert(IteratorSTL<T> pos, T[] list); void assign(VectorSTL<T> otherVector);  }### Answer:
@Test public void testAssign() { VectorSTL<Integer> a = new VectorSTL<Integer>(); VectorSTL<Integer> b = new VectorSTL<Integer>(); a.push_back(1); a.push_back(2); b.assign(a); assertEquals(2, b.size()); }