### Question:
ItemConfiguration { public PropertyDescriptor getPropertyDescriptor(final String propertyName) { final PropertyDescriptor propertyDescriptor = properties.get(propertyName); if (propertyDescriptor == null) { throw new IllegalStateException("No property found '" + propertyName + "' for item :" + itemClass); } return propertyDescriptor; } ItemConfiguration(final Class<? extends Item> itemClass, final String tableName);  ItemConfiguration(final Class<? extends Item> itemClass, final String tableName,
            final PrimaryKeyDefinition primaryKeyDefinition); void registerIndexes(final Collection<IndexDefinition> indexDefinitions); void registerUniqueConstraints(final Collection<UniqueConstraint> uniqueConstraints); boolean hasIndexOn(final String propertyName); ItemId getItemId(final Item item); Class<? extends Item> itemClass(); String tableName(); PrimaryKeyDefinition primaryKeyDefinition(); Collection<PropertyDescriptor> propertyDescriptors(); Collection<IndexDefinition> indexDefinitions(); Collection<UniqueConstraint> uniqueConstraints(); boolean hasIndexForQuery(final AttributeQuery attributeQuery); PropertyDescriptor getPropertyDescriptor(final String propertyName); String indexNameForQuery(final AttributeQuery attributeQuery);  }### Answer:
@Test public void shouldNotGetPropertyDescriptor_withInvalidPropertyName() throws Exception { final Class<? extends Item> itemClass = StubItem.class; final String tableName = randomString(10); final ItemConfiguration itemConfiguration = new ItemConfiguration(itemClass, tableName); final String propertyName = randomString(); IllegalStateException thrownException = null; try { itemConfiguration.getPropertyDescriptor(propertyName); } catch (final IllegalStateException e) { thrownException = e; } assertNotNull(thrownException); }