@Test
public void testGetWithSelectField() {

	ExtendedObjectClassDefinition extendedObjectClassDefinition = mock(
		ExtendedObjectClassDefinition.class);
	ExtendedAttributeDefinition extendedAttributeDefinition = mock(
		ExtendedAttributeDefinition.class);
	whenGetAttributeDefinitions(
		extendedObjectClassDefinition,
		new ExtendedAttributeDefinition[] {extendedAttributeDefinition},
		ExtendedObjectClassDefinition.ALL);
	whenGetAttributeDefinitions(
		extendedObjectClassDefinition, new ExtendedAttributeDefinition[0],
		ExtendedObjectClassDefinition.OPTIONAL);
	whenGetAttributeDefinitions(
		extendedObjectClassDefinition,
		new ExtendedAttributeDefinition[] {extendedAttributeDefinition},
		ExtendedObjectClassDefinition.REQUIRED);
	whenGetCardinality(extendedAttributeDefinition, 0);
	whenGetID(extendedAttributeDefinition, "Select");
	whenGetType(
		extendedAttributeDefinition, ExtendedAttributeDefinition.STRING);
	whenGetOptionLabels(
		extendedAttributeDefinition, new String[] {"Label 1", "Label 2"});
	whenGetOptionValues(
		extendedAttributeDefinition, new String[] {"Value 1", "Value 2"});
	ConfigurationModel configurationModel = new ConfigurationModel(
		null, null, null, extendedObjectClassDefinition, false);
	ConfigurationModelToDDMFormConverter
		configurationModelToDDMFormConverter = spy(
			new ConfigurationModelToDDMFormConverter(
				configurationModel, _enLocale, new EmptyResourceBundle()));
	whenGetConfigurationDDMForm(configurationModelToDDMFormConverter, null);
	DDMForm ddmForm = configurationModelToDDMFormConverter.getDDMForm();
	Map<String, DDMFormField> ddmFormFieldsMap =
		ddmForm.getDDMFormFieldsMap(false);
	DDMFormField ddmFormField = ddmFormFieldsMap.get("Select");
	Assert.assertNotNull(ddmFormField);
	Assert.assertEquals(DDMFormFieldType.SELECT, ddmFormField.getType());
	Assert.assertEquals("string", ddmFormField.getDataType());
	Assert.assertFalse(ddmFormField.isRepeatable());
	Assert.assertTrue(ddmFormField.isRequired());
	DDMFormFieldOptions ddmFormFieldOptions =
		ddmFormField.getDDMFormFieldOptions();
	Assert.assertEquals(_enLocale, ddmFormFieldOptions.getDefaultLocale());
	Set<String> optionsValues = ddmFormFieldOptions.getOptionsValues();
	Assert.assertTrue(
		optionsValues.toString(), optionsValues.contains("Value 1"));
	Assert.assertTrue(
		optionsValues.toString(), optionsValues.contains("Value 2"));
	LocalizedValue value1Labels = ddmFormFieldOptions.getOptionLabels(
		"Value 1");
	Assert.assertEquals(_enLocale, value1Labels.getDefaultLocale());
	Assert.assertEquals("Label 1", value1Labels.getString(_enLocale));
	LocalizedValue value2Labels = ddmFormFieldOptions.getOptionLabels(
		"Value 2");
	Assert.assertEquals(_enLocale, value2Labels.getDefaultLocale());
	Assert.assertEquals("Label 2", value2Labels.getString(_enLocale));
}