    @SuppressWarnings("serial")
    @Test
    public void testPutAll() throws Exception
    {

        Map<String, Object> values = new HashMap<String, Object>();
        values.put("intValue", 1);
        values.put("booleanValue", true);
        String[] stringArray = new String[] { "a", "b", "c" };
        values.put("stringArray", stringArray);
        TypedMap map = new TypedMap(recordType, values);

        map.putAll(new HashMap<String, Object>()
                {{
                    put("intValue", 2);
                    put("booleanValue", false);
                }});
        assertEquals(3, map.size());
        assertEquals(2, map.get("intValue"));
        assertEquals(false, map.get("booleanValue"));
        
        try
        {
            map.putAll(new HashMap<String, Object>()
                    {{
                        put("intValue", 3);
                        put("longValue", 5L);
                    }});
            fail();
        }
        catch (NoSuchRecordFieldException e)
        {
        }
        
        try
        {
            map.putAll(new HashMap<String, Object>()
                    {{
                        put("intValue", 6L);
                    }});
            fail();
        }
        catch (UnassignableValueException e)
        {
        }
    }