// Path: src/main/java/org/fest/util/Strings.java
// public static @NotNull String concat(@NotNull Object... objects) {
//   checkNotNull(objects);
//   StringBuilder b = new StringBuilder();
//   for (Object o : objects) {
//     b.append(o);
//   }
//   return b.toString();
// }
// 
// Path: src/main/java/org/fest/util/Strings.java
// public static @Nullable String quote(@Nullable String s) {
//   return s != null ? String.format("'%s'", s) : null;
// }


import java.io.File;
import java.io.IOException;
import java.util.logging.Logger;
import static java.io.File.separator;
import static java.lang.String.format;
import static org.fest.util.Strings.concat;
import static org.fest.util.Strings.quote;
    this.parent = parent;
    create();
  }

  private void create() throws IOException {
    String path = relativePath();
    file = new File(path);
    if (!file.exists()) {
      boolean fileCreated = file.createNewFile();
      if (!fileCreated) {
        throw new AssertionError(format("Unable to create file %s", quote(path)));
      }
      logger.info(format("Created file %s", quote(path)));
    }
    if (!file.isFile()) {
      throw new AssertionError(format("%s should be a file", quote(path)));
    }
    logger.info(format("The file %s exists", quote(path)));
  }

  public void delete() {
    String path = relativePath();
    boolean fileDeleted = file.delete();
    if (!fileDeleted) {
      throw new AssertionError(String.format("Unable to delete file %s", quote(path)));
    }
    logger.info(format("The file %s was deleted", quote(path)));
  }

  String relativePath() {
// Path: src/main/java/org/fest/util/Strings.java
// public static @NotNull String concat(@NotNull Object... objects) {
//   checkNotNull(objects);
//   StringBuilder b = new StringBuilder();
//   for (Object o : objects) {
//     b.append(o);
//   }
//   return b.toString();
// }
// 
// Path: src/main/java/org/fest/util/Strings.java
// public static @Nullable String quote(@Nullable String s) {
//   return s != null ? String.format("'%s'", s) : null;
// }


// Path: src/test/java/org/fest/util/FileFixture.java
import java.io.File;
import java.io.IOException;
import java.util.logging.Logger;
import static java.io.File.separator;
import static java.lang.String.format;
import static org.fest.util.Strings.concat;
import static org.fest.util.Strings.quote;

    this.parent = parent;
    create();
  }

  private void create() throws IOException {
    String path = relativePath();
    file = new File(path);
    if (!file.exists()) {
      boolean fileCreated = file.createNewFile();
      if (!fileCreated) {
        throw new AssertionError(format("Unable to create file %s", quote(path)));
      }
      logger.info(format("Created file %s", quote(path)));
    }
    if (!file.isFile()) {
      throw new AssertionError(format("%s should be a file", quote(path)));
    }
    logger.info(format("The file %s exists", quote(path)));
  }

  public void delete() {
    String path = relativePath();
    boolean fileDeleted = file.delete();
    if (!fileDeleted) {
      throw new AssertionError(String.format("Unable to delete file %s", quote(path)));
    }
    logger.info(format("The file %s was deleted", quote(path)));
  }

  String relativePath() {
    return parent != null ? concat(parent.relativePath(), separator, name) : name;