// Path: org.jenerate/src/java/org/jenerate/internal/domain/data/EqualsHashCodeGenerationData.java
// public interface EqualsHashCodeGenerationData extends MethodGenerationData {
// 
//     /**
//      * @return {@code true} if object references should be compared for the equals method generation, {@code false}
//      *         otherwise.
//      */
//     boolean compareReferences();
// 
//     /**
//      * @return {@code true} if class comparison should be used instead of instanceOf for the equals method generation,
//      *         {@code false} otherwise.
//      */
//     boolean useClassComparison();
// 
//     /**
//      * @return {@code true} if {@link Class#cast(Object)} and {@link Class#isInstance(Object)} should be used for the equals method generation,
//      *         {@code false} otherwise.
//      */
//     boolean useClassCast();
// 
//     /**
//      * @return the odd numbers to be used for the hashCode generation
//      */
//     IInitMultNumbers getInitMultNumbers();
// 
// }
// 
// Path: org.jenerate/src/java/org/jenerate/internal/domain/identifier/impl/MethodsGenerationCommandIdentifier.java
// public enum MethodsGenerationCommandIdentifier implements CommandIdentifier {
// 
//     EQUALS_HASH_CODE("org.jenerate.commands.GenerateEqualsHashCodeCommand"),
//     TO_STRING("org.jenerate.commands.GenerateToStringCommand"),
//     COMPARE_TO("org.jenerate.commands.GenerateCompareToCommand");
// 
//     private static final Map<String, MethodsGenerationCommandIdentifier> IDENTIFIERS = new HashMap<String, MethodsGenerationCommandIdentifier>();
// 
//     static {
//         for (MethodsGenerationCommandIdentifier userActionIdentifier : MethodsGenerationCommandIdentifier.values()) {
//             IDENTIFIERS.put(userActionIdentifier.getIdentifier(), userActionIdentifier);
//         }
//     }
// 
//     private final String identifier;
// 
//     private MethodsGenerationCommandIdentifier(String identifier) {
//         this.identifier = identifier;
//     }
// 
//     @Override
//     public String getIdentifier() {
//         return identifier;
//     }
// 
//     public static MethodsGenerationCommandIdentifier getUserActionIdentifierFor(String identifier) {
//         if (!IDENTIFIERS.containsKey(identifier)) {
//             throw new IllegalArgumentException();
//         }
//         return IDENTIFIERS.get(identifier);
//     }
// 
// }


import static org.junit.Assert.assertArrayEquals;
import static org.junit.Assert.assertEquals;
import static org.mockito.Mockito.when;
import org.eclipse.jdt.core.IField;
import org.eclipse.jdt.core.JavaModelException;
import org.jenerate.internal.domain.data.EqualsHashCodeGenerationData;
import org.jenerate.internal.domain.identifier.impl.MethodsGenerationCommandIdentifier;
import org.jenerate.internal.ui.dialogs.FieldDialog;
import org.jenerate.internal.ui.dialogs.impl.FieldDialogImpl;
import org.jenerate.internal.ui.dialogs.strategy.EqualsHashCodeDialogStrategyHelper;
import org.jenerate.internal.ui.dialogs.strategy.commonslang.CommonsLangEqualsHashCodeDialogStrategy;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.mockito.junit.MockitoJUnitRunner;

                equalsHashCodeDialogFactory.getCommandIdentifier());
    }

    @Test
    public void testCreateDialogWithEmptyFieldsAndNoDisableAppendSuper() throws Exception {
        when(objectClass.getSuperclassName()).thenReturn("SuperClass");
        validateDialogCreation(createFields(), false);
    }

    @Test
    public void testCreateDialogWithFieldsAndNoDisableAppendSuper() throws Exception {
        when(objectClass.getSuperclassName()).thenReturn("SuperClass");
        validateDialogCreation(createFields(field1, field2), false);
    }

    @Test
    public void testCreateDialogWithFieldsAndDisableAppendSuperWithJavaLangObject() throws Exception {
        when(objectClass.getSuperclassName()).thenReturn("java.lang.Object");
        mockDisableAppendSuper(true);
        validateDialogCreation(createFields(field1, field2), true);
    }

    @Test
    public void testCreateDialogWithFieldsAndDisableAppendSuperWithObject() throws Exception {
        when(objectClass.getSuperclassName()).thenReturn("Object");
        mockDisableAppendSuper(true);
        validateDialogCreation(createFields(field1, field2), true);
    }

    @Test

// Path: org.jenerate/src/java/org/jenerate/internal/domain/data/EqualsHashCodeGenerationData.java
// public interface EqualsHashCodeGenerationData extends MethodGenerationData {
// 
//     /**
//      * @return {@code true} if object references should be compared for the equals method generation, {@code false}
//      *         otherwise.
//      */
//     boolean compareReferences();
// 
//     /**
//      * @return {@code true} if class comparison should be used instead of instanceOf for the equals method generation,
//      *         {@code false} otherwise.
//      */
//     boolean useClassComparison();
// 
//     /**
//      * @return {@code true} if {@link Class#cast(Object)} and {@link Class#isInstance(Object)} should be used for the equals method generation,
//      *         {@code false} otherwise.
//      */
//     boolean useClassCast();
// 
//     /**
//      * @return the odd numbers to be used for the hashCode generation
//      */
//     IInitMultNumbers getInitMultNumbers();
// 
// }
// 
// Path: org.jenerate/src/java/org/jenerate/internal/domain/identifier/impl/MethodsGenerationCommandIdentifier.java
// public enum MethodsGenerationCommandIdentifier implements CommandIdentifier {
// 
//     EQUALS_HASH_CODE("org.jenerate.commands.GenerateEqualsHashCodeCommand"),
//     TO_STRING("org.jenerate.commands.GenerateToStringCommand"),
//     COMPARE_TO("org.jenerate.commands.GenerateCompareToCommand");
// 
//     private static final Map<String, MethodsGenerationCommandIdentifier> IDENTIFIERS = new HashMap<String, MethodsGenerationCommandIdentifier>();
// 
//     static {
//         for (MethodsGenerationCommandIdentifier userActionIdentifier : MethodsGenerationCommandIdentifier.values()) {
//             IDENTIFIERS.put(userActionIdentifier.getIdentifier(), userActionIdentifier);
//         }
//     }
// 
//     private final String identifier;
// 
//     private MethodsGenerationCommandIdentifier(String identifier) {
//         this.identifier = identifier;
//     }
// 
//     @Override
//     public String getIdentifier() {
//         return identifier;
//     }
// 
//     public static MethodsGenerationCommandIdentifier getUserActionIdentifierFor(String identifier) {
//         if (!IDENTIFIERS.containsKey(identifier)) {
//             throw new IllegalArgumentException();
//         }
//         return IDENTIFIERS.get(identifier);
//     }
// 
// }


// Path: org.jenerate/src/test/org/jenerate/internal/ui/dialogs/factory/impl/EqualsHashCodeDialogFactoryTest.java
import static org.junit.Assert.assertArrayEquals;
import static org.junit.Assert.assertEquals;
import static org.mockito.Mockito.when;
import org.eclipse.jdt.core.IField;
import org.eclipse.jdt.core.JavaModelException;
import org.jenerate.internal.domain.data.EqualsHashCodeGenerationData;
import org.jenerate.internal.domain.identifier.impl.MethodsGenerationCommandIdentifier;
import org.jenerate.internal.ui.dialogs.FieldDialog;
import org.jenerate.internal.ui.dialogs.impl.FieldDialogImpl;
import org.jenerate.internal.ui.dialogs.strategy.EqualsHashCodeDialogStrategyHelper;
import org.jenerate.internal.ui.dialogs.strategy.commonslang.CommonsLangEqualsHashCodeDialogStrategy;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.mockito.junit.MockitoJUnitRunner;

                equalsHashCodeDialogFactory.getCommandIdentifier());
    }

    @Test
    public void testCreateDialogWithEmptyFieldsAndNoDisableAppendSuper() throws Exception {
        when(objectClass.getSuperclassName()).thenReturn("SuperClass");
        validateDialogCreation(createFields(), false);
    }

    @Test
    public void testCreateDialogWithFieldsAndNoDisableAppendSuper() throws Exception {
        when(objectClass.getSuperclassName()).thenReturn("SuperClass");
        validateDialogCreation(createFields(field1, field2), false);
    }

    @Test
    public void testCreateDialogWithFieldsAndDisableAppendSuperWithJavaLangObject() throws Exception {
        when(objectClass.getSuperclassName()).thenReturn("java.lang.Object");
        mockDisableAppendSuper(true);
        validateDialogCreation(createFields(field1, field2), true);
    }

    @Test
    public void testCreateDialogWithFieldsAndDisableAppendSuperWithObject() throws Exception {
        when(objectClass.getSuperclassName()).thenReturn("Object");
        mockDisableAppendSuper(true);
        validateDialogCreation(createFields(field1, field2), true);
    }

    @Test

    public void testCreateDialogWithFieldsAndDisableAppendSuperWithNull() throws Exception {
