All Downloads are FREE. Search and download functionalities are using the official Maven repository.

fitnesse.testrunner.WikiPageIdentity Maven / Gradle / Ivy

There is a newer version: 20241026
Show newest version
package fitnesse.testrunner;

import fitnesse.wiki.WikiPage;

public class WikiPageIdentity {

  public static final String COMMAND_PATTERN = "COMMAND_PATTERN";
  public static final String TEST_RUNNER = "TEST_RUNNER";
  public static final String TEST_SYSTEM = "TEST_SYSTEM";
  private WikiPage page;

  public WikiPageIdentity(WikiPage page) {
    this.page = page;
  }

  public String getVariable(String name) {
    return page.getVariable(name);
  }

  public String testSystem() {
    String testSystemName = getVariable(TEST_SYSTEM);
    if (testSystemName == null)
      return "fit";
    return testSystemName;
  }

  private String testRunner() {
    String program = getVariable(TEST_RUNNER);
    if (program == null)
      program = "";
    return program;
  }

  private String commandPattern() {
    String testRunner = getVariable(COMMAND_PATTERN);
    if (testRunner == null)
      testRunner = "";
    return testRunner;
  }

  @Override
  public int hashCode() {
    return testSystem().hashCode() ^ testRunner().hashCode() ^ commandPattern().hashCode();
  }

  @Override
  public boolean equals(Object obj) {
    if (obj == null) return false;
    if (getClass() != obj.getClass()) return false;

    WikiPageIdentity identity = (WikiPageIdentity) obj;
    return identity.testSystem().equals(testSystem()) &&
            identity.testRunner().equals(testRunner()) &&
            identity.commandPattern().equals(commandPattern());
  }
}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy