Class Subject<S extends Subject<S,T>,T>

java.lang.Object
com.google.common.truth.Subject<S,T>
Direct Known Subclasses:
AbstractArraySubject, ClassSubject, ComparableSubject, DefaultSubject, IterableSubject, MapSubject, OptionalSubject, Subject

public class Subject<S extends Subject<S,T>,T> extends Object
Propositions for arbitrarily typed subjects and for properties of Object
  • Field Details

    • failureStrategy

      protected final FailureStrategy failureStrategy
    • subject

      private final T subject
    • customName

      private String customName
  • Constructor Details

  • Method Details

    • internalCustomName

      protected String internalCustomName()
    • named

      public S named(String name)
      Renames the subject so that this name appears in the error messages in place of string representations of the subject.
    • labeled

      @Deprecated public S labeled(String label)
      Deprecated.
      Use named(String) instead.
    • is

      @Deprecated public void is(Object other)
      Deprecated.
      Use isEqualTo(Object) to check object equality or isSameAs(Object) to check reference equality.
    • isNull

      public void isNull()
      Fails if the subject is not null.
    • isNotNull

      public void isNotNull()
      Fails if the subject is null.
    • isEqualTo

      public void isEqualTo(Object other)
      Fails if the subject is not equal to the given object.
    • isNotEqualTo

      public void isNotEqualTo(Object other)
      Fails if the subject is equal to the given object.
    • isSameAs

      public void isSameAs(Object other)
      Fails if the subject is not the same instance as the given object.
    • isNotSameAs

      public void isNotSameAs(Object other)
      Fails if the subject is the same instance as the given object.
    • isA

      @Deprecated public void isA(Class<?> clazz)
      Deprecated.
      Fails if the subject is not an instance of the given class.
    • isNotA

      @Deprecated public void isNotA(Class<?> clazz)
      Deprecated.
      Fails if the subject is an instance of the given class.
    • isInstanceOf

      public void isInstanceOf(Class<?> clazz)
      Fails if the subject is not an instance of the given class.
    • isNotInstanceOf

      public void isNotInstanceOf(Class<?> clazz)
      Fails if the subject is an instance of the given class.
    • getSubject

      protected T getSubject()
    • getDisplaySubject

      protected String getDisplaySubject()
    • check

      protected TestVerb check()
      A convenience for implementers of Subject subclasses to use other truth Subject wrappers within their own propositional logic.
    • fail

      protected void fail(String verb)
      Assembles a failure message and passes such to the FailureStrategy
      Parameters:
      verb - the proposition being asserted
    • fail

      protected void fail(String verb, Object part)
      Assembles a failure message and passes such to the FailureStrategy. Also performs disambiguation if the subject and part have the same toString()'s.
      Parameters:
      verb - the proposition being asserted
      part - the value against which the subject is compared
    • fail

      protected void fail(String verb, Object... messageParts)
      Assembles a failure message and passes such to the FailureStrategy
      Parameters:
      verb - the proposition being asserted
      messageParts - the expectations against which the subject is compared
    • failWithBadResults

      protected void failWithBadResults(String verb, Object expected, String failVerb, Object actual)
      Assembles a failure message and passes it to the FailureStrategy
      Parameters:
      verb - the proposition being asserted
      messageParts - the expectations against which the subject is compared
    • failWithCustomSubject

      protected void failWithCustomSubject(String verb, Object expected, Object actual)
      Assembles a failure message with an alternative representation of the wrapped subject and passes it to the FailureStrategy
      Parameters:
      verb - the proposition being asserted
      expected - the expected value of the proposition
      actual - the custom representation of the subject to be reported in the failure.
    • failWithoutSubject

      protected void failWithoutSubject(String verb)
      Assembles a failure message without a given subject and passes it to the FailureStrategy
      Parameters:
      verb - the proposition being asserted
    • failWithRawMessage

      protected void failWithRawMessage(String message, Object... parameters)
      Passes through a failure message verbatim. Used for Subject subclasses which need to provide alternate language for more fit-to-purpose error messages.
      Parameters:
      message - the message template to be passed to the failure. Note, this method only guarantees to process %s tokens. It is not guaranteed to be compatible with String.format(). Any other formatting desired (such as floats or scientific notation) should be performed before the method call and the formatted value passed in as a string.
      paramters - the object parameters which will be applied to the message template.
    • hasField

      @GwtIncompatible("java.lang.reflect.Field") public Subject.HasField hasField(String fieldName)
    • equals

      @Deprecated public boolean equals(Object o)
      Deprecated.
      This method is not a proposition, but the default Object equality method. Testing code should use "is" or "isEqualTo" propositions for equality tests.
      Overrides:
      equals in class Object
    • hashCode

      @Deprecated public int hashCode()
      Deprecated.
      Equals/Hashcode is not supported on Subjects. Their only use is as a holder of propositions. Use of equals() is deprecated and forwards to isEqualTo() and hashCode() is disallowed.
      Overrides:
      hashCode in class Object