@Test
public void testConfigAwareProviderConfig()
{

    Map<String, String> properties = new TreeMap<>();
    properties.put("string-value", "some value");
    properties.put("boolean-value", "true");
    inspect(properties, null, null, null,
            binder -> binder.bind(Integer.class).toProvider(new ConfigurationAwareProvider<Integer>()
            {
                private ConfigurationFactory configurationFactory;
                @Override
                public void setConfigurationFactory(ConfigurationFactory configurationFactory)
                {
                    this.configurationFactory = configurationFactory;
                }
                @Override
                public Integer get()
                {
                    configurationFactory.build(AnnotatedSetter.class);
                    return 3;
                }
            }))
            .component("")
            .value("BooleanValue", "boolean-value", "false", "true", "")
            .value("StringValue", "string-value", "null", "some value", "")
            .end();
}