package io.github.pyranja.hamcrest;

import org.hamcrest.CustomMatcher;
import org.hamcrest.Matcher;

public final class Hamcrest {
  private Hamcrest() { /* no instances */ }

  /**
   * Create a {@link Matcher} that always matches.
   */
  public static <T> Matcher<T> tautology() {
    return new Tautology<>();
  }

  /**
   * Create a {@link Matcher} that never matches.
   */
  public static <T> Matcher<T> contradiction() {
    return new Contradiction<>();
  }

  private static final class Tautology<T> extends CustomMatcher<T> {
    public Tautology() {
      super("tautology");
    }

    @Override
    public boolean matches(final Object item) {
      return true;
    }
  }

  private static final class Contradiction<T> extends CustomMatcher<T> {
    public Contradiction() {
      super("contradiction");
    }

    @Override
    public boolean matches(final Object item) {
      return false;
    }
  }
}

@@ -93,16 +93,50 @@
 Matcher;
+%0Aimport org.hamcrest.core.IsEqual;
 %0A%0Apublic
@@ -200,24 +200,295 @@
 ances */ %7D%0A%0A
+  /**%0A   * Expect %7B@link Boolean#TRUE%7D%0A   */%0A  public static Matcher%3CBoolean%3E isTrue() %7B%0A    return new IsEqual%3C%3E(Boolean.TRUE);%0A  %7D%0A%0A  /**%0A   * Expect %7B@link Boolean#FALSE%7D%0A   */%0A  public static Matcher%3CBoolean%3E isFalse() %7B%0A    return new IsEqual%3C%3E(Boolean.FALSE);%0A  %7D%0A%0A
   /**%0A   * C

Add Hamcrest#isTrue and #isFalse