// Path: src/main/java/com/statemachinesystems/envy/ConfigSource.java
// public interface ConfigSource {
// 
//     /**
//      * Retrieves the configuration value associated with the given parameter.
//      *
//      * @param parameter  the parameter to retrieve.
//      * @return           the value associated with the parameter, or null if no value was present
//      */
//     String getValue(Parameter parameter);
// }
// 
// Path: src/test/java/com/statemachinesystems/envy/common/FeatureTest.java
// public abstract class FeatureTest {
// 
//     protected Envy envy() {
//         return envy(valueParserFactory(), configSource());
//     }
// 
//     protected Envy envy(ValueParserFactory valueParserFactory) {
//         return envy(valueParserFactory, configSource());
//     }
// 
//     protected Envy envy(ConfigSource configSource) {
//         return envy(valueParserFactory(), configSource);
//     }
// 
//     protected Envy envy(ValueParserFactory valueParserFactory, ConfigSource configSource) {
//         return new Envy(valueParserFactory, configSource);
//     }
// 
//     protected ValueParserFactory valueParserFactory() {
//         List<ValueParser<?>> valueParsers = new ArrayList<ValueParser<?>>(Envy.defaultValueParsers());
//         return new ValueParserFactory(valueParsers);
//     }
// 
//     protected StubConfigSource configSource() {
//         return new StubConfigSource();
//     }
// }


import com.statemachinesystems.envy.ConfigSource;
import com.statemachinesystems.envy.common.FeatureTest;
import org.junit.Test;
import static org.hamcrest.CoreMatchers.*;
import static org.junit.Assert.assertThat;
package com.statemachinesystems.envy.features;



public class ToStringTest extends FeatureTest {

    @SuppressWarnings("unused")
    public interface Config {
        int getFoo();
        String getBar();
        int[] getBaz();
    }

    @Test
    public void toStringMethodFormatsUsingMethodNames() {
// Path: src/main/java/com/statemachinesystems/envy/ConfigSource.java
// public interface ConfigSource {
// 
//     /**
//      * Retrieves the configuration value associated with the given parameter.
//      *
//      * @param parameter  the parameter to retrieve.
//      * @return           the value associated with the parameter, or null if no value was present
//      */
//     String getValue(Parameter parameter);
// }
// 
// Path: src/test/java/com/statemachinesystems/envy/common/FeatureTest.java
// public abstract class FeatureTest {
// 
//     protected Envy envy() {
//         return envy(valueParserFactory(), configSource());
//     }
// 
//     protected Envy envy(ValueParserFactory valueParserFactory) {
//         return envy(valueParserFactory, configSource());
//     }
// 
//     protected Envy envy(ConfigSource configSource) {
//         return envy(valueParserFactory(), configSource);
//     }
// 
//     protected Envy envy(ValueParserFactory valueParserFactory, ConfigSource configSource) {
//         return new Envy(valueParserFactory, configSource);
//     }
// 
//     protected ValueParserFactory valueParserFactory() {
//         List<ValueParser<?>> valueParsers = new ArrayList<ValueParser<?>>(Envy.defaultValueParsers());
//         return new ValueParserFactory(valueParsers);
//     }
// 
//     protected StubConfigSource configSource() {
//         return new StubConfigSource();
//     }
// }


// Path: src/test/java/com/statemachinesystems/envy/features/ToStringTest.java
import com.statemachinesystems.envy.ConfigSource;
import com.statemachinesystems.envy.common.FeatureTest;
import org.junit.Test;
import static org.hamcrest.CoreMatchers.*;
import static org.junit.Assert.assertThat;

package com.statemachinesystems.envy.features;



public class ToStringTest extends FeatureTest {

    @SuppressWarnings("unused")
    public interface Config {
        int getFoo();
        String getBar();
        int[] getBaz();
    }

    @Test
    public void toStringMethodFormatsUsingMethodNames() {
        ConfigSource configSource = configSource()