// Path: src/main/java/com/exmertec/dummie/Dummie.java
// public static <T> T create(Class<T> type) {
//     return prepare(type).build();
// }
// 
// Path: src/main/java/com/exmertec/dummie/Dummie.java
// public static DummyBuilderFactory withStrategy(GenerationStrategy strategy) {
//     DummyBuilderFactory factory = new DummyBuilderFactory();
//     factory.withStrategy(strategy);
//     return factory;
// }
// 
// Path: src/main/java/com/exmertec/dummie/configuration/GenerationStrategy.java
// public enum GenerationStrategy {
//     DEFAULT, RANDOM
// }


import static com.exmertec.dummie.Dummie.create;
import static com.exmertec.dummie.Dummie.withStrategy;
import static org.hamcrest.CoreMatchers.equalTo;
import static org.hamcrest.CoreMatchers.not;
import static org.hamcrest.CoreMatchers.nullValue;
import static org.hamcrest.MatcherAssert.assertThat;
import static org.hamcrest.core.Is.is;
import com.exmertec.dummie.configuration.GenerationStrategy;
import org.junit.Test;
import java.util.HashSet;
import java.util.Set;
package com.exmertec.dummie;





public class SetTest {

    @Test
    public void should_create_object_with_set_field() {
        SetData data = create(SetData.class);

        assertThat(data, not(nullValue()));
        assertThat(data.getNotParameterized().size(), is(0));
        assertThat(data.getParameterized().size(), is(1));
    }

    @Test
    public void should_create_object_with_hashset_field() {
        HashSetData data = create(HashSetData.class);

        assertThat(data, not(nullValue()));
        assertThat(data.getNotParameterized().size(), is(0));
        assertThat(data.getParameterized().size(), is(1));
    }

    @Test
    public void should_create_diff_cache_for_set_and_hashset() throws Exception {
        MixSetData data = create(MixSetData.class);

        validateMixSetData(data);
    }

    @Test
    public void should_create_object_with_set_field_and_random_strategy() {
// Path: src/main/java/com/exmertec/dummie/Dummie.java
// public static <T> T create(Class<T> type) {
//     return prepare(type).build();
// }
// 
// Path: src/main/java/com/exmertec/dummie/Dummie.java
// public static DummyBuilderFactory withStrategy(GenerationStrategy strategy) {
//     DummyBuilderFactory factory = new DummyBuilderFactory();
//     factory.withStrategy(strategy);
//     return factory;
// }
// 
// Path: src/main/java/com/exmertec/dummie/configuration/GenerationStrategy.java
// public enum GenerationStrategy {
//     DEFAULT, RANDOM
// }


// Path: src/test/java/com/exmertec/dummie/SetTest.java
import static com.exmertec.dummie.Dummie.create;
import static com.exmertec.dummie.Dummie.withStrategy;
import static org.hamcrest.CoreMatchers.equalTo;
import static org.hamcrest.CoreMatchers.not;
import static org.hamcrest.CoreMatchers.nullValue;
import static org.hamcrest.MatcherAssert.assertThat;
import static org.hamcrest.core.Is.is;
import com.exmertec.dummie.configuration.GenerationStrategy;
import org.junit.Test;
import java.util.HashSet;
import java.util.Set;

package com.exmertec.dummie;





public class SetTest {

    @Test
    public void should_create_object_with_set_field() {
        SetData data = create(SetData.class);

        assertThat(data, not(nullValue()));
        assertThat(data.getNotParameterized().size(), is(0));
        assertThat(data.getParameterized().size(), is(1));
    }

    @Test
    public void should_create_object_with_hashset_field() {
        HashSetData data = create(HashSetData.class);

        assertThat(data, not(nullValue()));
        assertThat(data.getNotParameterized().size(), is(0));
        assertThat(data.getParameterized().size(), is(1));
    }

    @Test
    public void should_create_diff_cache_for_set_and_hashset() throws Exception {
        MixSetData data = create(MixSetData.class);

        validateMixSetData(data);
    }

    @Test
    public void should_create_object_with_set_field_and_random_strategy() {
        MixSetData data = withStrategy(GenerationStrategy.RANDOM)