Open Source Repository

Home /junit/junit-4.8.2 | Repository Home



org/junit/internal/AssumptionViolatedException.java
package org.junit.internal;

import org.hamcrest.Description;
import org.hamcrest.Matcher;
import org.hamcrest.SelfDescribing;
import org.hamcrest.StringDescription;

public class AssumptionViolatedException extends RuntimeException implements SelfDescribing {
  private static final long serialVersionUID= 1L;

  private final Object fValue;

  private final Matcher<?> fMatcher;

  public AssumptionViolatedException(Object value, Matcher<?> matcher) {
    super(value instanceof Throwable ? (Throwablevalue : null);
    fValue= value;
    fMatcher= matcher;
  }
  
  public AssumptionViolatedException(String assumption) {
    this(assumption, null);
  }

  @Override
  public String getMessage() {
    return StringDescription.asString(this);
  }

  public void describeTo(Description description) {
    if (fMatcher != null) {
      description.appendText("got: ");
      description.appendValue(fValue);
      description.appendText(", expected: ");
      description.appendDescriptionOf(fMatcher);
    else {
      description.appendText("failed assumption: " + fValue);
    }
  }
}