### Question:
DefaultValueObjectTypeRegistry implements ValueObjectTypeRegistry { @SuppressWarnings("unchecked") @Override public <T> ValueObjectType<T, ?> getValueType(Class<? extends T> valueClass) { return typeCache.get(valueClass.getName()); } DefaultValueObjectTypeRegistry(@Inject List<ValueObjectType<?, ?>> valueObjectTypeList); @SuppressWarnings("unchecked") @Override ValueObjectType<T, ?> getValueType(Class<? extends T> valueClass);  }### Answer:
@Test public void getValueType() throws Exception { ValueObjectType<?,?> valueObjectType = registry.getValueType(Integer.class); assertSame(valueObjectType1, valueObjectType); valueObjectType = registry.getValueType(Float.class); assertNull(valueObjectType); valueObjectType = registry.getValueType(String.class); assertNull(valueObjectType); assertEquals(2, registry.typeCache.size()); assertFalse(registry.typeCache.containsKey(String.class.getName())); assertFalse(registry.typeCache.containsKey(Float.class.getName())); }