/**
   * Tests population of <code>SettingDTO</code> in the assumption that all other methods are
   * implemented correctly.
   */
  @Test
  public void testPopulateDTO() {
    final SettingDefinitionAdapter settingDefinitionAdapter =
        new SettingDefinitionAdapter() {
          @Override
          List<MetadataDTO> createMetadataDTOList(final SettingDefinition source) {
            return null;
          }

          @Override
          DefaultValueDTO createDefaultValueDTO(final SettingDefinition source) {
            return null;
          }
        };

    final SettingDefinition settingDefinition = context.mock(SettingDefinition.class);
    final String settingNameSpace = NAMESPACE;
    final String settingDescription = DESCRIPTION;
    final int maxOverrides = MAXIMUM_OVERRIDES;

    context.checking(
        new Expectations() {
          {
            oneOf(settingDefinition).getPath();
            will(returnValue(settingNameSpace));
            oneOf(settingDefinition).getDescription();
            will(returnValue(settingDescription));
            oneOf(settingDefinition).getMaxOverrideValues();
            will(returnValue(maxOverrides));
          }
        });

    final SettingDTO settingDto = new SettingDTO();

    settingDefinitionAdapter.populateDTO(settingDefinition, settingDto);

    assertEquals(settingNameSpace, settingDto.getNameSpace());
    assertEquals(settingDescription, settingDto.getDescription());
    assertEquals(maxOverrides, settingDto.getMaximumOverrides());
  }