### Question:
DefaultPojoBindingFactory implements PojoBindingFactory { @Override @SuppressWarnings("unchecked") public synchronized <P> PojoBinding<P> createPojoBinding(Class<P> pojoType) { DefaultPojoBinding<P> binding = (DefaultPojoBinding<P>) bindingMap.get(pojoType); if (binding == null) { binding = new DefaultPojoBinding<>(pojoType); bindingMap.put(pojoType, binding); List<Facet> keyFacets = injectFacetBindings(binding, pojoType); injectKeyBinding(binding, pojoType, keyFacets); } return binding; } DefaultPojoBindingFactory(FacetProvider facetProvider, ConverterRegistry converterRegistry, NamingStrategy namingStrategy); @Override @SuppressWarnings("unchecked") synchronized PojoBinding<P> createPojoBinding(Class<P> pojoType);  }### Answer:
@Test public void testWithOnlyClusteringColumn() { assertHecateException("No @PartitionKey facets found for POJO type \"com.savoirtech.hecate.pojo.binding.def.DefaultPojoBindingFactoryTest.OnlyClustering\".", () -> getBindingFactory().createPojoBinding(OnlyClustering.class)); }
@Test public void testWithNoConverterForSimpleKey() { assertHecateException("No converter found for @PartitionKey facet \"id\".", () -> getBindingFactory().createPojoBinding(NoConverter.class)); }
@Test public void testWithNoKeys() { assertHecateException("No key facets found for POJO type \"com.savoirtech.hecate.pojo.binding.def.DefaultPojoBindingFactoryTest.NoKeys\".", () -> getBindingFactory().createPojoBinding(NoKeys.class)); }
@Test public void testWithNoConverterForMapKey() { assertHecateException("Invalid facet \"map\"; no converter registered for key type \"java.io.Serializable\".", () -> getBindingFactory().createPojoBinding(NoConverterMapKey.class)); }
@Test public void testWithCircularReferences() { getBindingFactory().createPojoBinding(Person.class); }