@Override
  public void accept(Props props) {
    ensurePropertyIsAbsolutePath(props, PATH_DATA.getKey());
    ensurePropertyIsAbsolutePath(props, PATH_WEB.getKey());
    ensurePropertyIsAbsolutePath(props, PATH_LOGS.getKey());
    ensurePropertyIsAbsolutePath(props, PATH_TEMP.getKey());
  }
@Test
  public void relative_paths_are_converted_to_absolute_paths() {
    Props props = new Props(new Properties());
    props.set(PATH_HOME.getKey(), homeDir.getAbsolutePath());

    // relative paths
    props.set(PATH_DATA.getKey(), "data");
    props.set(PATH_LOGS.getKey(), "logs");
    props.set(PATH_TEMP.getKey(), "temp");

    // already absolute paths
    props.set(PATH_WEB.getKey(), new File(homeDir, "web").getAbsolutePath());

    underTest.accept(props);

    assertThat(props.nonNullValue(PATH_DATA.getKey())).isEqualTo(new File(homeDir, "data").getAbsolutePath());
    assertThat(props.nonNullValue(PATH_LOGS.getKey())).isEqualTo(new File(homeDir, "logs").getAbsolutePath());
    assertThat(props.nonNullValue(PATH_TEMP.getKey())).isEqualTo(new File(homeDir, "temp").getAbsolutePath());
    assertThat(props.nonNullValue(PATH_WEB.getKey())).isEqualTo(new File(homeDir, "web").getAbsolutePath());
  }