class Client extends AbstractClient implements IClient {

  @Nonnull
  @VisibleForTesting
  static String getPatch(
      String expected, String actual, String expectedFileName, String actualFileName)
      throws DiffException {
    List<String> referenceLines = Arrays.asList(expected.split("\n"));
    List<String> testLines = Arrays.asList(actual.split("\n"));
    Patch<String> patch = DiffUtils.diff(referenceLines, testLines);
    if (patch.getDeltas().isEmpty()) {
      return "";
    } else {
      List<String> patchLines =
          UnifiedDiffUtils.generateUnifiedDiff(
              expectedFileName, actualFileName, referenceLines, patch, 3);
      return StringUtils.join(patchLines, "\n");
    }
  }

  public  Client(Settings settings);
  public  Client(String[] args);

}