### Question:
MapStateDescriptor extends StateDescriptor<MapState<UK, UV>, Map<UK, UV>> { public MapStateDescriptor(String name, TypeSerializer<UK> keySerializer, TypeSerializer<UV> valueSerializer) { super(name, new MapSerializer<>(keySerializer, valueSerializer), null); } MapStateDescriptor(String name, TypeSerializer<UK> keySerializer, TypeSerializer<UV> valueSerializer);  MapStateDescriptor(String name, TypeInformation<UK> keyTypeInfo, TypeInformation<UV> valueTypeInfo);  MapStateDescriptor(String name, Class<UK> keyClass, Class<UV> valueClass); @Override MapState<UK, UV> bind(StateBinder stateBinder); @Override Type getType(); TypeSerializer<UK> getKeySerializer(); TypeSerializer<UV> getValueSerializer();  }### Answer:
@Test public void testMapStateDescriptor() throws Exception { TypeSerializer<Integer> keySerializer = new KryoSerializer<>(Integer.class, new ExecutionConfig()); TypeSerializer<String> valueSerializer = new KryoSerializer<>(String.class, new ExecutionConfig()); MapStateDescriptor<Integer, String> descr = new MapStateDescriptor<>("testName", keySerializer, valueSerializer); assertEquals("testName", descr.getName()); assertNotNull(descr.getSerializer()); assertTrue(descr.getSerializer() instanceof MapSerializer); assertNotNull(descr.getKeySerializer()); assertEquals(keySerializer, descr.getKeySerializer()); assertNotNull(descr.getValueSerializer()); assertEquals(valueSerializer, descr.getValueSerializer()); MapStateDescriptor<Integer, String> copy = CommonTestUtils.createCopySerializable(descr); assertEquals("testName", copy.getName()); assertNotNull(copy.getSerializer()); assertTrue(copy.getSerializer() instanceof MapSerializer); assertNotNull(copy.getKeySerializer()); assertEquals(keySerializer, copy.getKeySerializer()); assertNotNull(copy.getValueSerializer()); assertEquals(valueSerializer, copy.getValueSerializer()); }