### Question:
OrderPreservingMap implements Map<K, V>, Cloneable { public V get(Object key) { return this.map.get(key); } OrderPreservingMap(); @SuppressWarnings("unchecked")  OrderPreservingMap(OrderPreservingMap<K, V> other);  OrderPreservingMap(Map<K, V> map, Collection<K> orderedKeys, Collection<V> orderedEntries); @SuppressWarnings("unchecked") Object clone(); @SuppressWarnings("unchecked") void putAll(Map<? extends K, ? extends V> other); void putAll(Collection<Entry<K,V>> entries); V put(K key, V value); V put(K key, V value, int toIndex); Set<K> keySet(); Set<K> keySetReference(); Object[] keyArray(); Collection<K> orderedKeys(); Collection<K> orderedKeysReference(); Set<Map.Entry<K, V>> entrySet(); Set<Map.Entry<K, V>> entrySetReference(); Collection<V> values(); Collection<V> valuesReference(); V get(Object key); V get(int i); K getKey(int index); Collection<V> getAll(Set<K> keys); int indexOfKey(Object key); int indexOf(Object object); boolean containsKey(Object key); boolean containsValue(Object value); boolean containsAll(Collection<V> list); void reverseOrder(); void reorder(Collection<K> keys); void reorder(K[] keys); V remove(Object key); V remove(int index); boolean removeAllKeys(Set<K> keys); void retainAllKeys(Set<K> keys); void clear(); int size(); boolean isEmpty(); V[] toArray(V[] dest); Object[] toArray(); @SuppressWarnings("unchecked") Collection<V> toCollection(); ListIterator<V> listIterator(int index); ListIterator<K> keyListIterator(int index);  }### Answer:
@Test public void testGetObject() { for (int i = 0; i < keys.length; i++) { assertEquals("map.get(key[" + i + "])", values[i], map.get(keys[i])); } }
@Test public void testGetInt() { for (int i = 0; i < keys.length; i++) { assertEquals("map.get(" + i + ")", values[i], map.get(i)); } }