### Question:
JmsMapMessage extends JmsMessage implements MapMessage { @Override public void setString(String name, String value) throws JMSException { put(name, value); } JmsMapMessage(JmsMapMessageFacade facade); @Override JmsMapMessage copy(); @Override void clearBody(); @Override boolean getBoolean(String name); @Override byte getByte(String name); @Override short getShort(String name); @Override char getChar(String name); @Override int getInt(String name); @Override long getLong(String name); @Override float getFloat(String name); @Override double getDouble(String name); @Override String getString(String name); @Override byte[] getBytes(String name); @Override Object getObject(String name); @Override Enumeration<String> getMapNames(); @Override void setBoolean(String name, boolean value); @Override void setByte(String name, byte value); @Override void setShort(String name, short value); @Override void setChar(String name, char value); @Override void setInt(String name, int value); @Override void setLong(String name, long value); @Override void setFloat(String name, float value); @Override void setDouble(String name, double value); @Override void setString(String name, String value); @Override void setBytes(String name, byte[] value); @Override void setBytes(String name, byte[] value, int offset, int length); @Override void setObject(String name, Object value); @Override boolean itemExists(String name); @Override String toString(); @Override boolean isBodyAssignableTo(@SuppressWarnings("rawtypes") Class target);  }### Answer:
@Test public void testSetStringGetLegal() throws Exception { JmsMapMessage mapMessage = factory.createMapMessage(); String name = "myStringName"; String value; value = "true"; mapMessage.setString(name, value); assertGetMapEntryEquals(mapMessage, name, Boolean.valueOf(value), Boolean.class); value = String.valueOf(Byte.MAX_VALUE); mapMessage.setString(name, value); assertGetMapEntryEquals(mapMessage, name, Byte.valueOf(value), Byte.class); value = String.valueOf(Short.MAX_VALUE); mapMessage.setString(name, value); assertGetMapEntryEquals(mapMessage, name, Short.valueOf(value), Short.class); value = String.valueOf(Integer.MAX_VALUE); mapMessage.setString(name, value); assertGetMapEntryEquals(mapMessage, name, Integer.valueOf(value), Integer.class); value = String.valueOf(Long.MAX_VALUE); mapMessage.setString(name, value); assertGetMapEntryEquals(mapMessage, name, Long.valueOf(value), Long.class); value = String.valueOf(Float.MAX_VALUE); mapMessage.setString(name, value); assertGetMapEntryEquals(mapMessage, name, Float.valueOf(value), Float.class); value = String.valueOf(Double.MAX_VALUE); mapMessage.setString(name, value); assertGetMapEntryEquals(mapMessage, name, Double.valueOf(value), Double.class); }
@Test public void testSetStringGetIllegal() throws Exception { JmsMapMessage mapMessage = factory.createMapMessage(); String name = "myName"; String value = "myStringValue"; mapMessage.setString(name, value); assertGetMapEntryThrowsMessageFormatException(mapMessage, name, byte[].class); assertGetMapEntryThrowsMessageFormatException(mapMessage, name, Character.class); }