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

fit.decorator.performance.TimeBasedFixtureDecorator Maven / Gradle / Ivy

package fit.decorator.performance;

import fit.Fixture;
import fit.Parse;
import fit.decorator.FixtureDecorator;
import fit.decorator.util.DefaultTimer;
import fit.decorator.util.Timer;

public abstract class TimeBasedFixtureDecorator extends FixtureDecorator {

  public static final String ACTUAL_TIME_TAKEN = "actualTimeTaken";
  protected Timer stopWatch;
  protected long elapsedTime;

  public TimeBasedFixtureDecorator(Timer watch) {
    super();
    this.stopWatch = watch;
  }

  TimeBasedFixtureDecorator() {
    super();
    this.stopWatch = new DefaultTimer();
  }

  @Override
  protected void run(Fixture fixture, Parse table) {
    stopWatch.start();
    super.run(fixture, table);
    elapsedTime = stopWatch.elapsed();
  }

  protected void updateColumns(Parse column, double actual, double expected, boolean greaterThan) {
    if (checkFailureBasedOnGreaterThanOrLessThan(actual, expected, greaterThan)) {
      super.wrong(column, Double.toString(actual));
    } else {
      super.right(column);
      column.addToBody("
actual " + Double.toString(actual)); } } private boolean checkFailureBasedOnGreaterThanOrLessThan(double actual, double expected, boolean greaterThan) { return greaterThan ? actual > expected : actual < expected; } }




© 2015 - 2024 Weber Informatics LLC | Privacy Policy