public void testPutAll() {
int[] keys = {1138, 42, 86, 99, 101};
long[] vals = {1138, 42, 86, 99, 101};
TIntLongMap raw_map = new TIntLongHashMap();
for ( int i = 0; i < keys.length; i++ ) {
raw_map.put( keys[i], vals[i] * 2 );
}
Map<Integer,Long> map = TDecorators.wrap( raw_map );
assertEquals( keys.length, map.size() );
TIntLongMap target = new TIntLongHashMap();
target.put( 1, 2 );
assertEquals( 1, target.size() );
target.putAll( map );
assertEquals( keys.length + 1, target.size() );
for ( int i = 0; i < keys.length; i++ ) {
assertEquals( vals[i] * 2, target.get( keys[i] ) );
}
assertEquals( 2, target.get( 1 ) );
// java.util.Map source
Map<Integer, Long> java_map = new HashMap<Integer, Long>();
for ( int i = 0; i < keys.length; i++ ) {
java_map.put( keys[i], vals[i] * 2 );
}
// fresh TIntLongMap
target = new TIntLongHashMap();
target.put( 1, 2 );
assertEquals( 1, target.size() );
target.putAll( java_map );
assertEquals( "map size is incorrect: " + keys.length + ", source: " +
java_map + ", target: " + target,
keys.length + 1, target.size() );
for ( int i = 0; i < keys.length; i++ ) {
assertEquals( vals[i] * 2, target.get( keys[i] ) );
}
assertEquals( 2, target.get( 1 ) );
}